错误思路:
对于ai记为n,n的最大质因子记为k,如果n==1则输出2,n!=1则输出n/k;
估计思路错了,但不知道如何证伪
代码如下,求助
#include<bits/stdc++.h>
using namespace std;
int ss(int x){
for (int i=2;i*i<=x;i++){
if(x%i==0){
while (x%i==0) x/=i;
return max(i,ss(x));
}
}
return x;
}
int main(){
int t;cin>>t;
while(t--){
int n;
cin>>n;
if (n==1) cout<<2<<endl;
else cout<<max(1,n/ss(n))<<endl;
}
return 0;
}