#include <stdio.h>
#include <math.h>
int Fun(int x){
int n = (int)sqrt(x);
for (int i = 2; i <= n; i ++) {
if (x%i==0) {
return 0;
}
}
return 1;
}
int main(){
int k, n = 0, i;
scanf("%d", &k);
for (i = 2; n!=k; i ++) {
if (Fun(i)) {
n ++;
}
}
printf("%d\n", i-1);
return 0;
}
质数筛法也能做
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
bool isPrime(int x)
{
if (x <= 1)
return false;
for (int i = 2; i * i <= x; i++)
{
if (x % i == 0)
return false;
}
return true;
}
int main()
{
int k;
while(scanf("%d", &k) != EOF)
{
int x = 2, cnt = 0;
while(true)
{
if (isPrime(x)) cnt++;
if (cnt == k)
break;
x++;
}
printf("%d\n", x);
}
return 0;
} //ky110输出第k个质数
#include<stdio.h>
int Judge_zhishu(int n){
if(n==2)
return 1;
else{
for(int i=2;i*i<=n;i++){
if(n%i==0)
return 0;
}
return 1;
}
}
int main(){
int k;
while(scanf("%d",&k)!=EOF){
int temp=0;//表示当下是第几个质数
int i=2;
while(temp!=k){
for(i;;i++){
if(Judge_zhishu(i)){
temp++;
i+=1;
break;
}
else
continue;
}
}
printf("%d",i-1);
printf("\n");
}
}