fork(1) download
  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4.  
  5.  
  6. long double potegowanie(long double c, int d)
  7. {
  8.  
  9. long double a[d];
  10. for( int i=1 ; i<=d; i++)
  11. {
  12. if (i<2)
  13. a[1]=c;
  14. else
  15. a[i]=a[i-1] * a[1];
  16. if(i==d)
  17. c=a[i];
  18. }
  19.  
  20. return c;
  21. }
  22.  
  23. int main()
  24. {
  25.  
  26.  
  27. int b=1;
  28. int p=0;
  29. long double q,f;
  30. int n,d,g,l;
  31. cin >>n;
  32. long double a[n];
  33.  
  34. for(int i=1; i<=n; i++)
  35. {
  36. if (i<4)
  37. g=3;
  38. if(i<=2)
  39. {
  40.  
  41. if(i<2)
  42. {
  43. a[i]=(5*b);
  44. }
  45. else
  46. {
  47. a[i]=a[i-1]+b;
  48. }
  49. }
  50. else
  51. {
  52. l = potegowanie(2,(i-1));
  53. d=0;
  54.  
  55. for(int s=1; s<=l; s++)
  56. {
  57.  
  58. if((d==(l/2)) )
  59. p=p-(p/2);
  60. else
  61. p++;
  62. f = potegowanie(10,(i-2));
  63.  
  64. a[g] = (a[1+(s/((l+2)/2))] * f )+ a[p];
  65.  
  66. if(g==n)
  67. {
  68. q=a[g];
  69. break;
  70. }
  71.  
  72. else
  73. {
  74. g++;
  75. d++;
  76. }
  77.  
  78. }
  79.  
  80. }
  81. if(i<3)
  82. q=a[i];
  83. if(g==n )
  84. break;
  85.  
  86. }
  87.  
  88. cout <<setprecision(100000000);
  89. cout <<q<<endl;
  90.  
  91. return 0;
  92. }
Success #stdin #stdout 0s 4268KB
stdin
12345
stdout
6555555666565