2 条题解

  • 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;
    }
    
    • 0
      @ 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

      信息

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