0
已解决
梁逸凡
资深守护
资深守护
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int n,m,a[5010];
bool f(int k) {
if(k==1) return false;
for(int i=2; i<=sqrt(k); i++) {
if(k%i==0) {
return false;
}
}
return true;
}
int main(){
cin>>n;
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
if(f(i))
m++;
}
if(n%(n-i)==0){
if(f(n-i))
m++;
}
}
cout<<m;
return 0;
}
30分代码,纠纠错
梁逸凡在2020-03-08 12:25:55追加了内容
人呢?
0
已采纳
邹昊轩
资深光能
资深光能
建议用埃氏筛法:
for(int i=2;i<=n;i++) { if(n%i==0) cnt++; while(n%i==0) n/=i; }
这是我的核心代码,请自己定义,望采纳。
邹昊轩在2020-03-14 14:37:38追加了内容
不要举报,谢谢!
0
0
0