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