Moc dekuji, uz sem byla zoufala, ze nevim co s tim, dekuji ;)
Příspěvky odeslané z IP adresy 88.100.119.–
trochu sem to upravila, ale ted kdyz zadam treba 100 tak to vypise 100=89+8+338+33
spravne by to melo vypsat jen 100=89+8+3
tady je ten kod:
#include <iostream>
using namespace std;
int fib (int a)
{
int const N=19;
int Fib_cislo[N]={1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765};
for(int i=N-1; i>=0; i--)
{
Fib_cislo[i];
int max=0;
max=Fib_cislo[i];
if(a >= max)
{
cout << max ;
if(a-max>0)
{
cout << " + ";
}
a = a - max;
fib(a);
}
}
return 0;
}
int main()
{
int a;
cout << "Zadej cislo vetsi nez 0: " << endl;
cin >> a;
cout << a << " = " ;
fib(a);
cout << endl;
return 0;
}
uz sem to i-- i to else smazala ,ale kdyz zadam treba 100 tak mi vyskoci tohle 100 = 88 +38 +338 +33
Dobrý den, potřebovala bych poradit mám za úkol napsat program který by rozložil zadané číslo na součet cisel fibonacciho posloupnosti, ma to byt pro cisla od 1 do 10000 a v C++
snazila sem se neco stvorit ale nejak to nefunguje tak jak ma, v programovani jsem uplny zacatecnik
tady je muj "kod", prosim o radu, dekuji
#include <iostream>
using namespace std;
int fib (int a){
int const N=19;
int Fib_cislo[N]={1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765};
for(int i=N-1; i>0; i--)
{
Fib_cislo[i];
int max=0;
max=Fib_cislo[i];
if(a >= max)
{
cout << max ;
if(a-max>0)
{
cout << " + ";
}
a=a-max;
fib(a);
}
else
i--;
}
return 0;
}
int main()
{
int a;
cin >> a;
fib(a);
return 0;
}