3 条题解
-
0
Guest
-
0
思路
很简单,质因数分解,如果能分解 cnt++,看 cnt 是否为 即可。
code
#include<bits/stdc++.h> using namespace std; bool solve(int n){ int cnt=0;//个数 for(int i=2;i<=sqrt(n);i++){//质因数分解模版 while(n%i==0){ cnt++; n/=i; } } if(n>1) cnt++; return cnt==2; } int main(){ int l,r,ans=0; cin>>l>>r; for(int i=l;i<=r;i++){ ans+=solve(i); } cout<<ans; return 0; }
-
0
函数
#include<bits/stdc++.h> using namespace std; bool p(int x) { if(x1) return false; for(int i=2;i*i<=x;i++) if(x%i0) return false; return true;
} int main() { int began,end,ans=0; cin>>began>>end; for(int i=began;i<=end;i++) { for(int j=2;j*j<=i;j++) { if(i%j==0) {
if(p(j)&&p(i/j)) { ans++; } }
} } cout<<ans<<endl; return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int main() { int l,r,n,i,j,d,e,f,g=0; cin>>l>>r; if(l>=1&&l<=r&&r<=100000) { for(n=l;n<=r;n++) { for(i=1;i*i<=n;i++) { for(j=1;j*j<=i;j++) { d=1; if(i%j==0&&i!=1&&j!=1) { d=0; break; } } if(d==1&&i!=1&&j!=1||i==2&&i!=1&&j!=1) { if(n%i==0) { e=n/i; for(j=1;j*j<=e;j++) { f=1; if(e%j==0&&i!=1&&j!=1) { f=0; break; } } if(f==1&&i!=1&&j!=1||e==2&&i!=1&&j!=1) { g++; } } } } } cout<<g; } return 0; }
- 1
信息
- ID
- 784
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 47
- 已通过
- 5
- 上传者