6 条题解
-
2公羽_Cloud (翁浩云) LV 8 @ 2023-3-6 22:25:49
P902 第n小的质数
题面
额……根据数据范围可以直接推断出这是一道暴力模拟题,so……代码如下
AC代码
#include<bits/stdc++.h> using namespace std; int n; bool isprime(int n){//判断整数n是否为质数 for(int i=2;i<=sqrt(n);i++){ if(n%i==0){ return false; } } return true; } int main(){ cin>>n; int k=2;//当前检查数 while(n>0){ if(isprime(k)){ n--; } k++; } cout<<k-1; }
PS:这段代码其实有一点点无伤大雅的小问题,就是最后一行写得怪怪的,因为得到正解后在while里面k还会再+1,所以……其实又没有什么问题……
-
02023-12-10 11:34:07@
#include <bits/stdc++.h> using namespace std; bool a[1000005]={}; int n,ans; int main() { cin>>n; a[1]=1; for(int i=1;i<=1000000;i++) { if(a[i]==0) { ans++; if(ans==n) { cout<<i; } for(int j=i*2;j<=1000000;j+=i) { a[j]=1; } } } return 0; }
-
02023-6-5 17:22:13@
#include <bits/stdc++.h> using namespace std; int main() { int a,b=0; cin>>a; for(int i = 2; ;i++) { bool flag = 1; for (int j=2;j<=sqrt(i);j++){ if(i%j == 0){ flag = 0; break;} } if(flag == 1) b++; if(b == a){ cout<<i; return 0; } } }
-
02023-3-26 8:56:37@
#include<iostream> #include<cmath> using namespace std; int main(){ int n,sum=0; cin>>n; for(int i=2; ;i++){ bool flag=1; for(int j=2;j<=sqrt(i);j++) if(i%j==0){ flag=0; break; } if(flag) sum++; if(sum==n){ cout<<i; return 0; } } }
-
02023-1-13 11:37:56@
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b=0;
cin>>a;
for(int i = 2; ;i++){
bool flag = 1;
for (int j=2;j<=sqrt(i);j++){
if(i%j == 0){
flag = 0;
break;}
}
if(flag == 1) b++;
if(b == a){
cout<<i;
return 0;
}
}
}
-
02023-1-13 11:37:17@
#include <bits/stdc++.h> using namespace std; int main() { int a,b=0; cin>>a; for(int i = 2; ;i++){ bool flag = 1; for (int j=2;j<=sqrt(i);j++){ if(i%j == 0){ flag = 0; break;} } if(flag == 1) b++; if(b == a){ cout<<i; return 0; } } }
- 1
信息
- ID
- 902
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 325
- 已通过
- 94
- 上传者