Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. long a, n, s, x, q, r, k;
  8.  
  9. long alt(long n)
  10. {
  11.    return (8*1+(n-1)*2*5+(n*n-2*n+1)*3);
  12. }
  13.  
  14. int main(int argc, char *argv[])
  15. {
  16.   while(cin>>a)
  17.   {
  18.  
  19.   n=pow(a,(float)1/3);
  20.  
  21.   s=12+(n-1)*3*8+(n-1)*(n-1)*3*5+(n*n*n-3*n*n+3*n-1)*3;
  22.  
  23.   x=a-n*n*n;
  24.   k=0;
  25.  
  26.   while(x)
  27.   {
  28.  
  29. m:   if(x<=n*n)
  30.       {
  31.           q=sqrt(x); r=x-q*q;
  32.  
  33.           s+=alt(q);
  34.           if(r<=2) s+=r*5;
  35.           else s+=2*5+(r-2)*3;
  36.  
  37.           break;
  38.       }
  39.  
  40.       else if(x>n*n && x<=2*n*n+n)
  41.       {
  42.  
  43.           if(x<=2*n*n) {s+=alt(n); x-=n*n; goto m;}
  44.           else
  45.           {
  46.                x-=2*n*n;
  47.                s+=2*alt(n);
  48.  
  49.                if(x==1) {s+=5; x=0;}
  50.                else if(x>1 && x<=n) {s+=5+(x-1)*3; x=0;}
  51.           }
  52.  
  53.       }
  54.       else
  55.       {
  56.            s+=2*alt(n)+5+(n-1)*3;
  57.  
  58.            x-=(2*n*n+n);
  59.  
  60.            n+=1;
  61.            goto m;
  62.        }
  63.   }
  64.  
  65.   cout<<s<<endl;
  66.  
  67. }
  68.     return EXIT_SUCCESS;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement