C++ nyelven kellene a fibonacci sorozat megoldása rekurzióval. Tudna segíteni valaki esetleg a program megírásában?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Pofon egyszerű: A rekurzív összefüggés: [link]
A pszeudo kódot írom:
fib(n){
if (n==0)return 0;
if (n==1) return 1;
return fib(n-1)+fib(n-2);
}
Köszönöm a segítséget, de mivel egyáltalán nem értek a programozáshoz, viszont egy dolgozathoz csatolnom kellene az egész programot, ezért megtennéd,hogy elejétől a végéig leírod?
Köszönöm szépen előre is.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Nem kell megtanulnom. senki nem kéri számon tőlem a későbbiekben, csak egy megfigyelt tanuulmányomnak ez volt a témája, viszont ott nem volt lehetőségem leírni, és most kellene,hogy csatolni tudjam.
Na de mindegy. Nem magyarázkodom.
Majd megoldom máshogy, ha nem segítetek.
Azért köszi
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Én tavaly írtam jávába egy ilyet, remélem azért egy kicsit tudtamm segíteni :)
class fibonacci{
public static void main( String[] args ){
if (args.length == 3){
int a1 = Integer.parseInt(args[0]);
int a2 = Integer.parseInt(args[1]);
int elozo = a2;
int elozoelotti = a1;
int temp = 0;
int n =Integer.parseInt (args[2]);
System.out.print (a1 + ", " + a2 + ", ");
for (int i = 3; i <= 30; i++){
temp = elozo + elozoelotti;
System.out.println(temp + ", ");
elozoelotti = elozo;
elozo = temp;
temp = 0;
}
}else{
System.out.println("A program használatát");
System.out.println("Java fibonacci a1 a2 dbszám");
}
}
}
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Előző az nem rekurzív.
(Első vagyok.)
Itt van kérdező ha aktuális még, működő online ki is próbálható: [link]
Lassú, mert hányszor számolja ki a tagokat? Ugyan azt a tagot újra és újra exponenciálisan sokszor, mert nincs emlékezete ... hogy lehetne gyorsítani, úgy hogy rekurzív maradjon?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static void fibo(int n)
{
int elem = 1;
int elozoelem = 0;
Console.Write("0 1");
if (n > 2)
{
for (int i = 3; i <= n; i++)
{
elem = elem + elozoelem;
Console.Write(" {0}",elem);
elozoelem = elem - elozoelem;
}
}
}
static void Main(string[] args)
{
Console.WriteLine("Hány elemet akarunk tudni?");
int n = Convert.ToInt32(Console.ReadLine());
fibo(n);
Console.ReadKey();
}
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!