其他分享
首页 > 其他分享> > 信息学奥赛一本通1099:第n小的质数 视频题解

信息学奥赛一本通1099:第n小的质数 视频题解

作者:互联网

<iframe allowfullscreen="true" data-mediaembed="csdn" id="06vKLZb0-1608378577429" src="https://live.csdn.net/v/embed/130723"></iframe>

一本通1099:第n小的质数

在这里插入图片描述
http://ybt.ssoier.cn:8088/problem_show.php?pid=1099
信息学奥赛一本通1099:第n小的质数 视频题解

#include<bits/stdc++.h>
using namespace std;
//微信请加 14808098 一起快乐学习信息学奥赛
int main() { 
	int i=2;
	int n;cin>>n;
	int ans = 0;
	// 10w*10w = 100亿 
	while(1){ // 10w
		// 质数 除了1和它本身,没有其他数能被它整除
		int j;
/*
29 > 2...28
28 >1,28
	2,14
	4,7
	7,4
	14,2
	28,1
16  > 2,8
    > 4,4
    > 8,2
25  > 5,5

100 > 2,50
      4,25
      5,20
      10,10
      ......

*/	
		// 100000		
		for(j=2;j*j<=i;j++){ // 10w-2  for(j=2;j*j<=i;j++) for(j=2;j<=i-1;j++)
			if(i%j==0){
				break;
			}
		}
		if(j*j>i){  // j*j>i  j==i
			ans ++;
			if(ans==n){
				cout<<i<<endl;
				return 0;
			}
		}		
		i++;
	}
	return 0;
}

标签:int,题解,质数,28,1099,ans,10w
来源: https://blog.csdn.net/weixin_42790071/article/details/111409402