Zadatak sa bubblebee/republickog takmicenja 2015

Imam pitanje oko zadatka sa republickog takmicenja 2015. Moje pitanje je kako da radim sa brojevima koji su veci od “limita” za npr unsigned long long. To mi je potrebno kod ovog zadatka, jer mi broj predje mnogo preko ogranicenja. U pitanju je zadatak Problems/FibonaciCifre#problem .

Evo ga moj kod:

#include "iostream"
using namespace std;

int main(){
unsigned long long n, br1=1, br2=1, br3, pomoc;

cin >> n;

/*unsigned long long fibi[n];

fibi[0]=1;
fibi[1]=1;*/

for(unsigned long long i=2;i<n;i++){
	//fibi[i]=fibi[i-1]+fibi[i-2];
	br3 = br1 + br2;
	br2=br1;
	br1 = br3;
}

cout << br3%100 << endl;

return 0;

main();
}

Hvala za odgovor unapred.

Razmisli koliko cifara, tih velikih brojeva treba da pamtis da bi mogao da ispises poslednje dve cifre.

Pa verovatno samo poslednje 2. Hvala pokusacu tako :slight_smile: .

Kao sto sam i pretpostavio, radilo je. Samo je tu jos jedan problem. Vecina test primera radi sem 2, a ta 2 ne rade zbog brzine izrade. Da li bi znao kako bih mogao ubrzati ovaj proces.

Kada uvek pamtis poslednje dve cifre, razmisli koliko ima različitih mogućnosti za poslednja dva broja (koji odredjuju koji će broj biti sledeći). Brojevi počnu brzo da se ponavljaju… :slight_smile:

Hvala, radilo je :).