Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.23 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define fastio ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
  4. vector<long long>prime;
  5. bool x[10000007];
  6. void seieve()
  7. {
  8.     x[0]=1;
  9.     x[1]=1;
  10.     prime.push_back(2);
  11.     for(int i=3; i*i<=10000005; i+=2)
  12.     {
  13.         if(!x[i])
  14.         {
  15.             for(int j=i*i; j<=10000005; j+=2*i)
  16.             {
  17.                 x[j]=1;
  18.             }
  19.         }
  20.     }
  21.     for(int i=3; i<=10000005; i+=2)
  22.         if(!x[i])
  23.             prime.push_back(i);
  24. }
  25. int main()
  26. {
  27.     //fastio;
  28.     //freopen("in.txt","r",stdin);
  29.     //freopen("out.txt","w",stdout);
  30.     seieve();
  31.     long long a,b,c,d,i,j,n,m;
  32.     cin>>n;
  33.     while(n)
  34.     {
  35.         n=abs(n);
  36.         a=0;
  37.         b=-1;
  38.         m=n;
  39.         c=0;
  40.         while(a<prime.size()&&n>1&&prime[a]*prime[a]<=n)
  41.         {
  42.             if(n%prime[a]==0)
  43.                 c++;
  44.             while(n%prime[a]==0)
  45.             {
  46.                 b=max(b,prime[a]);
  47.                 n/=prime[a];
  48.             }
  49.             a++;
  50.         }
  51.         if(n>1&&m!=n)
  52.         {
  53.             c++;
  54.             b=max(b,n);
  55.         }
  56.         if(c<=1)
  57.             b=-1;
  58.         cout<<b<<'\n';
  59.         cin>>n;
  60.     }
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement