Pagini recente » Borderou de evaluare (job #1821167) | Cod sursa (job #2270749) | Cod sursa (job #1937572) | Cod sursa (job #80164) | Cod sursa (job #857590)
Cod sursa(job #857590)
#include <fstream>
#define Nmax 310
using namespace std;
int A,B,C,N,Fibo[3][Nmax];
void Add(/*int C,int A,int B*/) {
int i,Rest=0;
for(i=1;i<=Fibo[A][0] || i<=Fibo[B][0] || Rest;i++) {
Fibo[C][i]=Fibo[A][i]+Fibo[B][i]+Rest;
Rest=Rest/10+Fibo[C][i]/10;
Fibo[C][i]%=10;
}
Fibo[C][0]=i-1;
}
void Solve() {
int i;
Fibo[0][0]=1;
Fibo[0][1]=1;
Fibo[1][0]=1;
Fibo[1][1]=2;
for(i=3;i<=N;i++) {
C=(i-1)%3;
A=(i-3)%3;
B=(i-2)%3;
Add(/*(i-1)%3,(i-3)%3,(i-2)%3*/);
}
}
void Read() {
ifstream in("nunta.in");
in>>N;
in.close();
}
void Write() {
ofstream out("nunta.out");
for(int i=Fibo[(N-1)%3][0];i>=1;i--)
out<<Fibo[(N-1)%3][i];
out<<'\n';
out.close();
}
int main() {
Read();
Solve();
Write();
return 0;
}