Pagini recente » Cod sursa (job #2550286) | Cod sursa (job #2791050) | Cod sursa (job #245804) | Cod sursa (job #1729216) | Cod sursa (job #1581607)
#include <cstdio>
using namespace std;
short int a[500], b[500];
int max(int a, int b)
{
if(a >= b) return a;
return b;
}
void aduna()
{
short int t = 0,sum;
int i;
for(i = 1 ; i <= b[0] || i <= a[0]; i++)
{
sum = a[i] + b[i] + t;
a[i] = sum % 10 ;
t = sum / 10;
}
if(t)
{
a[0] = max(a[0],b[0]) + 1;
a[a[0]] = t;
}
else a[0] = max(a[0],b[0]);
}
void afis(short int nr[])
{
for(int i = nr[0]; i >= 1 ; i--)
printf("%d",nr[i]);
}
void sw()
{
for(short int i = 0 ; i <= max(a[0],b[0]) ; i++)
{
int tmp = a[i];
a[i] = b[i];
b[i] = tmp;
}
}
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);
for(int i = 2 ; i <= n ; i++){
aduna();
sw();
}
afis(b);
return 0;
}