Pagini recente » Cod sursa (job #1356531) | Cod sursa (job #2454775) | Cod sursa (job #851471) | Cod sursa (job #1497384) | Cod sursa (job #854938)
Cod sursa(job #854938)
#include<stdio.h>
#include<cstring>
using namespace std;
FILE*f=fopen("nunta.in","r");
FILE*g=fopen("nunta.out","w");
int a[300],b[300],c[300];
int n,i;
void add(int a[],int b[],int c[]){
memset(c,0,sizeof(c));
int maxim=a[0],T=0;
if(b[0]>maxim)
maxim=b[0];
c[0]=maxim;
for(int i=1;i<=maxim;i++){
c[i]=T+a[i]+b[i];
T=c[i]/10;
c[i]%=10;
}
while(T){
c[++c[0]]=T%10;
T/=10;
}
}
int main(){
fscanf(f,"%d",&n);
a[++a[0]]=1;
b[++b[0]]=2;
if(n<=2)
fprintf(g,"%d",n);
else{
n-=2;
for(i=1;i<=n;i++){
add(a,b,c);
memcpy(a,b,sizeof(a));
memcpy(b,c,sizeof(a));
}
for(i=b[0];i>=1;i--)
fprintf(g,"%d",b[i]);
}
return 0;
}