李强


私信TA

用户名:uq_15621203389

访问量:2061

签 名:

等  级
排  名 621
经  验 4121
参赛次数 0
文章发表 25
年  龄 0
在职情况 教师
学  校
专  业

  自我简介:

解题思路:

可以定义一个数组用于存放所有小于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 人评分

  评论区

  • «
  • »