Advertisement
a53

fractal

a53
Apr 10th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. ifstream fin("fractal.in");
  4. ofstream fout("fractal.out");
  5. unsigned N,C,i,j,ct,a[100001],b[100001],p;
  6.  
  7. int main()
  8. {
  9. fin>>C>>N;
  10. ///cerinta 1
  11. if(C==1)
  12. {
  13. ///calculam 4 la puterea N-2
  14. a[0]=a[1]=1;
  15.  
  16. for(i=1;i<=N-2;i++)
  17. {
  18. for(j=1,ct=0;j<=a[0];j++)
  19. { a[j]=a[j]*4+ct;ct=a[j]/10; a[j]=a[j]%10;}
  20. while(ct){a[0]++;a[a[0]]=ct%10;ct/=10;}
  21. }
  22. for(j=a[0];j>=1;j--)
  23. fout<<a[j];
  24. fout<<'\n';
  25. return 0;
  26. }
  27. ///cerinta 2
  28. ///calculam 4 la N in vect a
  29. a[0]=1;a[1]=1;
  30.  
  31. for(i=1;i<=N;i++)
  32. {
  33. for(j=1,ct=0;j<=a[0];j++)
  34. { a[j]=a[j]*4+ct;ct=a[j]/10; a[j]=a[j]%10;}
  35. while(ct){a[0]++;a[a[0]]=ct%10;ct/=10;}
  36. }
  37. ///calculam 4*(3^(N-1)) in vect b
  38. b[0]=1;b[1]=4;
  39. for(i=1;i<=N-1;i++)
  40. {
  41. for(j=1,ct=0;j<=b[0];j++)
  42. { b[j]=b[j]*3+ct;ct=b[j]/10; b[j]=b[j]%10;}
  43. while(ct){b[0]++;b[b[0]]=ct%10;ct/=10;}
  44. }
  45. ///in final calculez (4^N)-4*(3^(N-1))
  46. for(i=1,ct=0;i<=a[0];i++)
  47. {
  48. if(a[i]>=b[i]+ct){a[i]=a[i]-ct-b[i];ct=0;}
  49. else
  50. {a[i]=a[i]+10-ct-b[i];ct=1;}
  51. }
  52. while(a[a[0]]==0)a[0]--;///nu e cazul, dar...
  53. ///afisam rezultatul final
  54. for(j=a[0];j>=1;j--)
  55. fout<<a[j];
  56. fout<<'\n';
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement