信息学奥赛一本通 1099:第n小的质数 | OpenJudge NOI 1.5 44
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1099:第n小的质数 | OpenJudge NOI 1.5 44
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 1099:第n小的質數
OpenJudge NOI 1.5 44:第n小的質數
【題目考點】
1. 質數
- 質數的因數只有1和它本身。
- 判斷數a是否是質數:循環變量i從2開始循環到a\sqrt{a}a?,若存在a能整除的數字(即a的因數),那么a不是質數。否則a是質數。
【解題思路】
- 設判斷質數的函數
- 設變量ct用于計數,每找到一個質數,ct就增加1,當ct等于n時,輸出剛剛找到的質數,就是第n小的質數。
【題解代碼】
解法1:
#include<bits/stdc++.h> using namespace std; bool isPrime(int a)//判斷a是否是質數,已知a >= 2 {for(int i = 2; i <= sqrt(a); i++){if(a % i == 0)return false;}return true; } int main() {int n, ct = 0;//ct:計數 cin>>n;for(int i = 2; true; ++i) {if(isPrime(i))//判斷i是否是質數 {ct++;if(ct >= n)//如果已經找到第n小的質數 {cout<<i;//那么輸出i return 0;}}} }總結
以上是生活随笔為你收集整理的信息学奥赛一本通 1099:第n小的质数 | OpenJudge NOI 1.5 44的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1150:求正整数2和
- 下一篇: 信息学奥赛一本通(1252:走迷宫)