Zahlenreihe

Original von Lesco
Original von Eydeet
Haskell:
Code:
numbers = 1 : 2 : [a + 1 | (a) <- tail numbers]
main = print (take 100 numbers)

Wieso nicht einfach "[1..100]"? :)
Weil das zu einfach wäre. ;)

Nee, im Ernst: Ich habe heute angefangen, mir Haskell anzuschauen, von daher ist mir diese Syntax noch gar nicht begegnet. Meine Lösung ist das einzige Haskell-Programm das ich bisher geschrieben habe.
 
Original von Eydeet
Original von Lesco
Original von Eydeet
Haskell:
Code:
numbers = 1 : 2 : [a + 1 | (a) <- tail numbers]
main = print (take 100 numbers)

Wieso nicht einfach "[1..100]"? :)
Weil das zu einfach wäre. ;)

Nee, im Ernst: Ich habe heute angefangen, mir Haskell anzuschauen, von daher ist mir diese Syntax noch gar nicht begegnet. Meine Lösung ist das einzige Haskell-Programm das ich bisher geschrieben habe.

Ok, habe ich schon vermutet. Deine Lösung hat natürlich den stilistischen "Vorteil", dass sie in den meisten anderen Sprachen, in dieser Form nicht implementiert werden könnte. :)
 
so hier meine lösung in clisp
Code:
(defun listfrom (target)
	   (setf i (+ 1 target))
	   (format t "~d" i)
	   (if (< i 100) (listfrom i))
	 )
ich lerne lisp erst seit gestern, daher ist das vielleicht etwas umständlich. starten muss man die funktion mit 0.
 
VB

Zar ein alter thread, hab aber nix von VB gesehen.
Darum hier zur Vervollständigung:

Code:
Imports System.Console

Module Module1
    Dim x As Integer = 0

    Sub Main()
        ausgeben()
        ReadLine()
    End Sub

    Public Sub ausgeben()
        If x = 100 Then
            Exit Sub
        Else
            x += 1
            WriteLine(x.ToString)
            ausgeben()
        End If
    End Sub

End Module
 
Zurück
Oben