1 条题解
-
0
C :
#include<stdio.h> #include<math.h> int IsPrime(int n); int main() { int count = 0; int i; for(i = 1;count < 100003;i++) { if(IsPrime(i)) { count++; } } printf("%d",i-1); } int IsPrime(int num) { if (num == 2 || num == 3) { return 1; } if (num % 6 != 1 && num % 6 != 5) { return 0; } for (int i = 5; i*i <= num; i += 6) { if (num % i == 0 || num % (i+2) == 0) { return 0; } } return 1; }
C++ :
#include<stdio.h> #include<string.h> #include<math.h> const int M =1299745; bool mark[M]; void Seive() { memset(mark,1,sizeof(mark)); mark[0] = mark[1] = 0; for(int i = 2;i <= sqrt(M);i++) { if(mark[i]) { for(int j = i*i; j< M;j+=i) mark[j] = 0; } } } int main() { Seive(); int i,conter= 0; for(i = 0;i <= M;i++) { if(mark[i]) conter++; if(conter == 100002) { printf("%d",i); break; } } return 0; }
- 1
信息
- ID
- 1786
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者