2 条题解
-
0
#include<bits/stdc++.h> using namespace std; int prime[1110000],pr;bool v[1110000]; int main() { int n;scanf("%d",&n); memset(v,0,sizeof(v)); for(int i=2;i<=n;i++) { if(v[i]==0) { prime[++pr]=i; int x=n,s=0; while(x) { x=x/i; s+=x; } printf("%d %d\n",i,s); } for(int j=1;j<=pr && i*prime[j]<=n;j++) { v[i*prime[j]]=1; if( i% prime[j]==0) break; } } return 0; } -
0
#include<bits/stdc++.h> using namespace std; int prime[1110000],pr;bool v[1110000]; int main() { int n;scanf("%d",&n); memset(v,0,sizeof(v)); for(int i=2;i<=n;i++) { if(v[i]==0) { prime[++pr]=i; int x=n,s=0; while(x) { x=x/i; s+=x; } printf("%d %d\n",i,s); } for(int j=1;j<=pr && i*prime[j]<=n;j++) { v[i*prime[j]]=1; if( i% prime[j]==0) break; } } return 0; }
- 1
信息
- ID
- 3152
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 167
- 已通过
- 67
- 上传者