Pagini recente » Cod sursa (job #1606652) | Cod sursa (job #2330385) | Cod sursa (job #1396721) | Cod sursa (job #1576030) | Cod sursa (job #1311976)
#include<cstdio>
using namespace std;
short int a[500],b[500];
void aduna()
{
short int t = 0,sum;
int i;
for(i = 1 ; i <= b[0] || i <= a[0]; i++)
{
sum = a[i] + b[i];
a[i] = sum % 10;
t = sum / 10;
}
if(t){
a[0] = i;
a[a[0]] = t;
}
else
a[0] = i-1;
}
void afis(short int nr[])
{
for(int i = nr[0]; i >= 1 ; i--)
printf("%d",nr[i]);
}
int max(int a,int b)
{
if(a >= b)
return a;
return b;
}
void swap(short int &a,short int &b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
}
void sw()
{
for(short int i = 0 ; i <= max(a[0],b[0]) ; i++)
swap(a[i],b[i]);
}
int main()
{
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
a[0] = a[1] = b[0] = b[1] = 1;
int n;
scanf("%d",&n);
if(n == 1){
afis(a);
return 0;
}
if(n == 2)
{
afis(b);
return 0;
}
for(int i = 2 ; i <= n ; i++){
aduna();
sw();
}
afis(b);
return 0;
}