#include<iostream>
using namespace std;
bool ss(int a) {
for(int i=2; i<a; i++) {
if(a%i==0) {
return false;
}
}
return true;
}//素数判断
int main() {
int n=0,sum1=1,sum2=0;
cin>>n;
for(int i=2; i<n; i++) {
if(n%i==0&&ss(i)) {
sum1*=i;//sum作为累乘值
sum2+=1;//sum2作为指示值
}
}
if(sum1==n&&n!=1) {
if(sum2%2==0) {
cout<<'1'<<endl;
} else {
cout<<"-1"<<endl;
}
} else if(ss(n)&&n!=1)
cout<<"-1"<<endl;
else {
if(n==1) {
cout<<'1'<<endl;
} else cout<<'0'<<endl;
}
return 0;
}
注意点:1.写一个Bool函数判断素数
2.判断数由几个不同素数相乘(用for将能整除的素数相乘如果等于输入值则成立,再写一个变量记录记录素数数)
3.1输出1 素数输出-1