求助帖
查看原帖
求助帖
708057
Liu_Su_楼主2024/11/11 14:49

错误思路:

对于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;
}
2024/11/11 14:49
加载中...