Pagini recente » Cod sursa (job #1914189) | Cod sursa (job #2152317) | Cod sursa (job #1082163) | Cod sursa (job #1396328) | Cod sursa (job #1311943)
#include<fstream>
using namespace std;
ifstream in("nunta.in");
ofstream out("nunta.out");
typedef short int BIG[500];
BIG a,b;
void aduna(BIG &a,BIG &b)
{
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(BIG nr)
{
for(int i = nr[0]; i >= 1 ; i--)
out<<nr[i];
}
void sw(BIG a,BIG b)
{
for(int i = 0 ; i <= max(a[0],b[0]) ; i++)
swap(a[i],b[i]);
}
int main()
{
a[0] = a[1] = b[0] = 1;
b[1] = 2;
int n;
in>>n;
if(n == 1){
afis(a);
return 0;
}
if(n == 2)
{
afis(b);
return 0;
}
for(int i = 3 ; i <= n ; i++){
aduna(a,b);
sw(a,b);
}
afis(b);
return 0;
}