Guest User

Untitled

a guest
Jan 21st, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.24 KB | None | 0 0
  1. #include <cstdio>
  2. #define ULL unsigned long long
  3.  
  4. ULL arrpotegi[10]={0,1,8192,1594323,67108864,1220703125,13060694016,96889010407,549755813888,2541865828329};
  5. //ULL arrpotegi[10]={0,1,8,27,64,125,216,343,512,729};
  6. unsigned char cyferki[9] = {0};
  7. #define DEBUG true
  8.  
  9. ULL check()
  10. {
  11.     ULL liczba=0,temp=0;
  12.     unsigned char temp_cyferki[9] = {0};
  13.     for(int i=0;i<9;i++)
  14.         liczba+=arrpotegi[i+1]*cyferki[i];
  15.     temp=liczba;
  16.     unsigned char n=0;
  17.     for(int i=0;i<30;i++)
  18.     {
  19.         n=liczba%10;
  20.         liczba/=10;
  21.         if(n>0)
  22.             temp_cyferki[n-1]++;
  23.     }
  24.     for(int i=0;i<9;i++)
  25.         if(cyferki[i]!=temp_cyferki[i]) return 0;
  26.     return temp;
  27. }
  28.  
  29. int main()
  30. {
  31.     ULL suma = 0;
  32.     for(int i=0;i<31;i++)
  33.     {
  34.       cyferki[0]=i;
  35.      if(i > 0) suma++;
  36.       if (suma > 29)
  37.       {
  38.         suma-=i;
  39.         break;
  40.       }
  41.         for(int j=0;j<31;j++)
  42.         {
  43.           cyferki[1]=j;
  44.          if(j > 0) suma++;
  45.           if (suma > 29)
  46.           {
  47.             suma-=j;
  48.             break;
  49.           }
  50.             for(int k=0;k<31;k++)
  51.             {
  52.               cyferki[2]=k;
  53.              if(k > 0) suma++;
  54.               if (suma > 29)
  55.               {
  56.                 suma-=k;
  57.                 break;
  58.               }
  59.                 for(int l=0;l<31;l++)
  60.                 {
  61.                   cyferki[3]=l;
  62.                  if(l > 0) suma++;
  63.                   if (suma > 29)
  64.                   {
  65.                     suma-=l;
  66.                     break;
  67.                   }
  68.                     for(int m=0;m<31;m++)
  69.                     {
  70.                       cyferki[4]=m;
  71.                      if(m > 0) suma++;
  72.                       if (suma > 29)
  73.                       {
  74.                         suma-=m;
  75.                         break;
  76.                       }
  77.                         for(int n=0;n<31;n++)
  78.                         {
  79.                           cyferki[5]=n;
  80.                          if(n > 0) suma++;
  81.                           if (suma > 29)
  82.                           {
  83.                             suma-=n;
  84.                             break;
  85.                           }
  86.                             for(int o=0;o<31;o++)
  87.                             {
  88.                               cyferki[6]=o;
  89.                              if(o > 0) suma++;
  90.                               if (suma > 29)
  91.                               {
  92.                                 suma-=o;
  93.                                 break;
  94.                               }
  95.                                 for(int p=0;p<31;p++)
  96.                                 {
  97.                                   cyferki[7]=p;
  98.                                  if(p > 0) suma++;
  99.                                   if (suma > 29)
  100.                                   {
  101.                                     suma-=p;
  102.                                     break;
  103.                                   }
  104.                                   for(int r=0;r<31;r++)
  105.                                   {
  106.                                     cyferki[8]=r;
  107.                                    if(r > 0) suma++;
  108.                                     if (suma > 29)
  109.                                     {
  110.                                       suma-=r;
  111.                                       break;
  112.                                     }
  113.                                     ULL tmp=check();
  114.                                     if(tmp>1) printf("%lld\n",tmp);
  115.                                   }
  116.                                 }
  117.                             }
  118.                         }
  119.                     }
  120.                 }
  121.             }
  122.         }
  123.     }
  124.     return 0;
  125. }
Add Comment
Please, Sign In to add comment