原题链接:第n小的质数
解题思路:
可以定义一个数组用于存放所有小于10000的质数,自定义函数isPrime()这个自定义函数来判断一个数是不是
质数,如果是就赋值给数组
注意事项:
参考代码:
#include <iostream>
#include <cmath>
using namespace std;
int isPrime(int n){
//判断一个数是不是质数
if(n<2){
return 0;
}
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
return 0;
}
}
return 1;
}
int main(){
//输入数据n,为了取第n个质数
int n;
cin>>n;
//定义一个数组,存放质数
int arr[10000]={0};
//判断一个数是不是质数,如果是就赋值给数组,从2开始取判断即可,因为2是最小的质数
//假设arr[s]是最小的那个数,定义一个整形变量s,i
int i=2,s=0 ; //数组元素从0开始
while(s<n){
if(isPrime(i)==1){//如果i是质数
arr[s]=i; //将i赋值给数组
s++; //s+1
}
i++; //i+1
}
cout<<arr[n-1]<<endl; //数组是从0开始,所以数组中第n个数是n-1
return 0;
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复