Witam wszystkich mój problem polega na pewnym zadaniu ze spoja które brzmi następująco:
Mając daną liczbę N oblicz N-tą liczbę fibonacciego modulo 1000000007 = 10^9 +7.
W pierwszym wierszu liczba testów T<=100.
W następnych T liniach liczby Ni
Ni<=10^9
Dla każdego testu w osobnej linii Ni-ta liczba ciągu fibonacciego modulo 10^9+7
oto mój kod:
#include<iostream>
#include<cstdlib>
#include <math.h>
using namespace std;
int fib(int n){
if(n==1 || n==2)
return 1;
float x=(pow(10.0,9.0)+7);
return (fib(n-1)+ fib(n-2)%int(x));
}
int main(){
int ile;
cin>>ile;
if(ile>100)
return 100;
int n;
for(int i=0;i<ile;i++){
cin>>n;
cout<<fib(n)<<endl;
system("pause");
}
return 0;
}
Komunikat który mi wyskakuje brzmi że przekroczono czas.Czy jest ktoś w stanie mi pomóc z tym zadaniem ?