資訊學奧賽一本通1099:第n小的質數 視訊題解

廣東清遠OIer尚賢發表於2020-12-19

一本通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;
}

相關文章