You are on page 1of 2

#include <iostream>

#include <fstream>
#include <math.h>
using namespace std;

class funz{
public:
int fibo(int n);
};

main(void)
{

funz o1;
int i, x = 60, N;
int vet[x];

cout << "Inserisci il numero che vuoi fibonacizzare";


cin >> N;

for (i=0; i<x; i++)


{
vet[i] = o1.fibo(i);

if (vet[i] > N)
{
break;
}
}

int var, cost, y, t;

cost = i-1;
t = cost - 1;
cout << vet[cost] << endl;
var = (N % vet[cost]);
cout << "Il resto della divisione tra N e il suo precendente numero di fibonacci
e\': " << var << endl;

int acceso[cost];

acceso[cost] = 1;

int somma=0, temp;

for (int p=t; p >= 0; p--)


{
temp = somma + vet[p];
if (temp > var)
{
acceso[p] = 0;
temp = 0;
continue;
}
else
{
somma = somma + vet[p];
acceso[p] = 1;
temp = 0;
}
}

for (int d=0; d<(cost+1); d++)


{
cout << acceso[d];
}
}

int funz::fibo(int n)
{
int c;
double sequenza[1000];
sequenza[0]=1;
sequenza[1]=1;
for (c=2; c<1000; c++)
{
sequenza[c] = sequenza[c-1] + sequenza[c-2];

return sequenza[n];
}

You might also like