2 条题解

  • 1
    @ 2022-12-4 11:16:51
    #include<bits/stdc++.h>
    using namespace std;
    long long n,t;
    long long get(long long n)
    {
        long long maxn=-1;
        for(int i=2;i*i<=n;i++)
            if(n%i==0)
            {
                if(maxn<i)maxn=i;
                while(n%i==0)n/=i;
            }
        maxn=max(maxn,n);
        return maxn;
    }
    int main()
    {
        cin>>t;
        while(t--)
        {
            cin>>n;
            if(n==1)cout<<0;
            else cout<<n/get(n);
    		puts("");
        }
        return 0;
    }
    • 1
      @ 2022-6-11 13:22:09
      #include <bits/stdc++.h>
      using namespace std;
      #define int long long
      inline int read()
      {
      	int m=1,x=0;
      	char ch=getchar();
      	while(!isdigit(ch)){
      		if (ch=='-') m=-1;
      		ch=getchar();
      	}
      	while(isdigit(ch)){
      		x=x*10+ch-'0';
      		ch=getchar();
      	}
      	return x*m;
      }
      inline void write(int x)
      {
      	if (x<0) putchar('-'),x=-x;
      	if (x>=10) write(x/10);
      	putchar(x%10+'0');
      }
      bool p;
      inline bool ss(int x)
      {
      	if (x==1) return false;
      	for (int i=2;i<=sqrt(x);i++) if (x%i==0) return false;
      	return true;
      }
      signed main()
      {
      	/*freopen("king.in","r",stdin);
      	freopen("king.out","w",stdout);*/
      	
      	int t=read();
      	for(int i=1;i<=t;i++){
      		int n=read();
      		for(int j=1;j<=n;j++){
      			p=false;
      			if(n%j==0&&ss(n/j)==true){
      				write(j);
      				putchar('\n');
      				p=true;
      				break;
      			}
      		}
      		if(p==false) cout<<0<<endl;
      	}
      	
      	/*fclose(stdin);
      	fclose(stdout);*/
      	return 0;
      }
      
      • 1

      信息

      ID
      120
      时间
      1000ms
      内存
      256MiB
      难度
      5
      标签
      (无)
      递交数
      80
      已通过
      32
      上传者