Ruby :: Aufgabe #18

3 Lösungen Lösungen öffentlich

Ausgabe der Fibonacci-Folge

Anfänger - Ruby von Dome - 29.12.2012 um 00:58 Uhr
Schreiben Sie ein Programm, welches die Fibonacci-Folge ausgibt. Zuvor wird abgefragt, wie viele Werte ausgegeben sollen.

Hilfe von Wiki: Fibonacci-Folge

Konsolenausgabe:

Ausgabe der Fibonacci-Folge mit 10 Werten : 0,1,1,2,3,5,8,13,21,34

Lösungen:

vote_ok
von pdg (720 Punkte) - 29.12.2012 um 17:36 Uhr
Quellcode ausblenden Ruby-Code
puts "Wie viele Werte?"
i = gets.chomp.to_i

fibonacci = Hash.new{ |h,k| h[k] = k < 2 ? k : h[k-1] + h[k-2] }

print "Ausgabe der Fibonacci-Folge mit #{i} Werten: "
(0...i).each do |n|
	print fibonacci[n], " "
end
vote_ok
von pianoplayer (1330 Punkte) - 06.12.2013 um 10:02 Uhr
Quellcode ausblenden Ruby-Code
puts "Die Fibonacci-Folge"
print "Anzahl der ausgegebenen Zahlen: "
anzahl = gets.to_i
zahl1 = 0
zahl2 = 1
print zahl1.to_s if anzahl >= 1
print ", " + zahl2.to_s if anzahl >= 2
for i in 3..anzahl do
  zahl3 = zahl1 + zahl2
  print ", " + zahl3.to_s
  zahl1 = zahl2
  zahl2 = zahl3
end
vote_ok
von pianoplayer (1330 Punkte) - 06.12.2013 um 10:41 Uhr
Quellcode ausblenden Ruby-Code
puts "Die Fibonacci-Folge als Array"
print "Wie viele Zahlen wollen Sie ausgeben (n > 1) : "
anzahl = gets.to_i
fibarray = [0,1]

(anzahl - 2).times do
  t = fibarray.size
  fibarray[t] = fibarray[t-2] + fibarray[t-1]
end
p fibarray             #Ausgabe mit Klammern
#wenn man die Klammern nicht ausgeben möchte dann:
#fibstring = fibarray.to_s
#for i in 1..fibstring.size-2 do
#  print fibstring[i]
#end