Pagini recente » Cod sursa (job #731731) | Cod sursa (job #1701824) | Cod sursa (job #3266046) | Cod sursa (job #2400069) | Cod sursa (job #2298279)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
int a[10003],b[10003];
void adunare(int a[], int b[])
{
int t = 0;
for(int i = 1; i <= a[0]; i++)
{
t += a[i]+b[i];
a[i] = t % 10;
t /= 10;
}
if(t > 0)
a[++a[0]] = 1;
}
void scadere(int a[], int b[])
{
int t = 0;
for(int i = 1; i <= a[0]; i++)
{
b[i] = a[i] - b[i] + t;
if(b[i] < 0)
{
b[i] += 10;
t = 1;
}
else
t = 0;
}
while(b[0] > 1 && b[b[0]] == 0)
b[0]--;
}
int main()
{
int n,i;
f>>n;
a[0]=1;
a[1]=2;
b[0]=1;
b[1]=1;
if(n==1)
g<<1;
else if(n==2)
g<<2;
else
{
for(i=3;i<=n;i++)
{
adunare(a,b);
scadere(a,b);
}
for(i=a[0];i>=1;i--)
g<<a[i];
}
return 0;
}