#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"); } }