原题链接:第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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复