Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream f("rica.in");
- ofstream g("rica.out");
- typedef int NrMare[10010];
- void AtribMic(NrMare x, int n)
- {
- x[0]=0;
- if(n==0)
- x[(x[0]=1)]=0;
- else
- for(;n;n/=10)
- x[++x[0]]=n%10;
- }
- void AtribMare(NrMare Dest, NrMare Sursa)
- {
- int i;
- for(i=0;i<=Sursa[0];i++)
- Dest[i]=Sursa[i];
- }
- void Adunare(NrMare A,NrMare B)
- /* A <- A+B */
- { int i,T=0;
- if (B[0]>A[0])
- { for (i=A[0]+1;i<=B[0];) A[i++]=0;
- A[0]=B[0];
- }
- else for (i=B[0]+1;i<=A[0];) B[i++]=0;
- for (i=1;i<=A[0];i++)
- { A[i]+=B[i]+T;
- T=A[i]/10;
- A[i]%=10;
- }
- if (T) A[++A[0]]=T;
- }
- void Afisare(NrMare n)
- {
- for(int i=n[0];i>0;--i)
- g<<n[i];
- }
- int main()
- {
- int X;
- NrMare n1,n2,n3,n;
- f>>X;
- if(X==1||X==2)
- {
- g<<1;
- return 0;
- }
- if(X==3)
- {
- g<<2;
- return 0;
- }
- AtribMic(n1,1),AtribMic(n2,1),AtribMic(n3,2);
- for(int i=4;i<=X;++i)
- AtribMare(n,n1),Adunare(n,n2),Adunare(n,n3),AtribMare(n1,n2),AtribMare(n2,n3),AtribMare(n3,n);
- Afisare(n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement