Cod sursa(job #1910610)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 7 martie 2017 17:40:18
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<bits/stdc++.h>
using namespace std;
char v1[10005],v2[10005],v3[10005];
int n;
void conversie(char v[],int x)
{
    int dv=0;
    while(x)
    {
        v[++dv]=x%10;
        x/=10;
    }
    v[0]=dv;
}
void adunare(char a[],char b[])
{
    int t=0,i;
    for(i=1;i<=a[0] || i<=b[0] || t;i++)
    {
        t=t+a[i]+b[i];
        a[i]=t%10;
        t/=10;
    }
    a[0]=i-1;
}
int main()
{
    freopen("nunta.in","r",stdin);
    freopen("nunta.out","w",stdout);
    scanf("%d",&n);
    n++;
    conversie(v1,1);
    conversie(v2,1);
    if(n==1 || n==2)
    {
        printf("1\n");
        return 0;
    }
    for(int i=3;i<=n;i++)
    {
        memcpy(v3,v1,sizeof(v1));
        adunare(v3,v2);
        memcpy(v1,v2,sizeof(v2));
        memcpy(v2,v3,sizeof(v3));
    }
    for(int i=v3[0];i>=1;i--) printf("%d",v3[i]);
    return 0;
}