问题描述
第一个质数是2,第2个质数是3,第10个质数是29,请问第n个质数是多少?
求解思路
1.循环判断是不是质数,是就加1
2.当质数的个数与输入的数相同则输出
#include<stdio.h>
#include<stdlib.h>
#include <math.h>
int main(){
int n,i,j,t=0,k;
scanf("%d",&n);
for(i=2;;i++){
k=0;
for(j=2;j<=sqrt(i);j++){//判断质数
if(i%j==0){//不是质数就不需要在进行判断了
k++;
break;
}
}
if(!k){//是质数开始计数
t++;
}
if(t==n){
printf("%d",i);
break;
}
}
return 0;
}