求助
查看原帖
求助
253765
houpingze楼主2020/6/20 07:05

35改错,谢谢

#include<iostream>
using namespace std;
long long n,cnt,m,q,a[1000000];
bool zs(long long n){
	if(n==1) return 0;
	for(long long i=2;i*i<=n;i++) if(n%i==0) return false;
	return true;
}
long long zys(long long n){
	long long cnt=0;
	for(long long i=2;i*i<=n;i++) if(n%i==0) while(n%i==0) n/=i,cnt++;
	return cnt+1; //2*3*5
}
int main(){
	cin>>q; 
	if(q==1) cout<<2;
	else if(q==1||zs(q)) cout<<"1\n0";
	else if(zys(q)==2) cout<<2;
	else{
		cout<<"1\n";
		for(long long i=2;i*i<=q;i++) if(q%i==0) if(zs(i)) m=q/i;	cout<<m;
	}
}

2020/6/20 07:05
加载中...