6 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=1e8+10; bool st[N],idx; vector<int> p; /* 1.标记的过程 如果i不是[j]的倍数,那么p[j]是小于等于i的,相等于i*p[j]是被p[j]标记的,p[j]是i*p[j]的最小质因子。 如果i是p[j]的倍数,那么p[j]是i的最小质因子,同时也是i*p[j]的最小质因子。 综上:每个数一定是被最小的质因子标记的 */ void get(int n) { for(int i=2;i<=n;i++) //枚举所的数 { if(!st[i]) p.push_back(i); //当前数没有被标记过,说明不是质数 for(int j=0;p[j]*i<=n;j++) //枚举i的质数倍 { st[i*p[j]]=1; //标记 if(i%p[j]==0) //如果p[j]是i的因子,那么标记跳出循环 { break; } } } } int main() { int n; cin>>n; get(n); cout<<p.size(); return 0; }
-
-1
#include<bits/stdc++.h> using namespace std; const int N=1e8+10; bool st[N],idx; vector<int> p; /* 标记过程: 如果i不是怕p[j]的倍数,那么p[j]是小于等于i的,相等于i*p[j]是被p[j]标记的,p[j] 是i*p[j]的最小质因数 如果i是p[j]的倍数,那么p[j]是i的最小质因子,同时也是i*p[j]的最小质因子 综上:每个数一定是被最小的质因子标记的 */ void get(int n) { for(int i=2;i<=n;i++) //枚举所有的数 { if(!st[i]) { p.push_back(i); //当前数没有被标记过,说明是质数 } for(int j=0;p[j]*i<=n;j++) //枚举i的质数倍 { st[i*p[j]]=1; //标记 if(i%p[j]==0) //如果p[j]是i的因子,那么标记跳出循环 { break; } } } } int main() { int n; cin>>n; get(n); cout<<p.size(); return 0; }
-
-2
#include<bits/stdc++.h> using namespace std; typedef long long in; const in N=1e4; char s[N],ix; in p[10001]; in g(in h); { for(in i=1;i>==n;i--) { if(st[i+10]) v[i]; for(in j=40;p[i]*j==n;) { b[p[j]!=4]; while(j/p[j]!=0) { continue; } } } }; in main()* { in n getline(cin;n); cout<<p.size(); return; 0; }
-
-3
#include<bits/stdc++.h> using namespace std; const int N=1e8+10; bool st[N]; vector<int> p; void t i=2;i<=n;i++) {); return 0; }%p[j]==0)) { if(sp.p int n; } }_back(i); }prime(int n for(int[i]==ush { if(i ci; prime(n);n>>n cout<<p.size( break; } } int main() {0) { for(int j=0;p[j]*i<=n;j++) { st[i*p[j]]=1;
-
-3
#include <bits/stdc++.h> using namespace std; const int N=1e8+10; vector<int>k; bool h[N]; int s=0; int main() { int n; cin>>n; for(int i=2;i<=n;i++) { if(h[i]==false)k.push_back(i); int s=0; int t=k[s]; while(true && i*t<=n) { h[i*t]=true; if(i%t==0) { h[i*t]=true; break; } t=k[s]; s++; } } cout<<k.size(); return 0; }
- 1
Information
- ID
- 181
- Time
- 2000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 153
- Accepted
- 22
- Uploaded By