這是一個比較經(jīng)典的題目, 很多地方都出現(xiàn)
首先是要了解質(zhì)數(shù)的定義:
質(zhì)數(shù)是指在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)的自然數(shù)。
所以1不是質(zhì)數(shù) 2以及后面的數(shù)才有可能是質(zhì)數(shù)
核心辦法是計算某個數(shù)能不能被整除
在計算機語言里面 可以用計算機的方法 就是 取模
取模余0 那就是能被整除
取模余非零 那就是不能被整除
求解過程如果在1-某個數(shù)的范圍之內(nèi)
這個范圍之內(nèi)的每一個數(shù) 都不是某個數(shù)的因子
這個范圍之類的每一個數(shù) 都不能整除某個數(shù)本身
那么他就是質(zhì)數(shù)
就是 用這個范圍之類的每一個數(shù) 去向某個數(shù)本身去取模
取模的余數(shù)都不為0 ,那么 他就是質(zhì)數(shù)
易錯點2就是質(zhì)數(shù), 一般情況下會不小心把2忽略掉
如何解決呢 不難的 想不起來就看下面代碼唄
計算優(yōu)化請仔細思考, 如果要求11是不是質(zhì)數(shù)
需要把2 - 10 都計算一遍嗎?
你計算到3 或者 5的時候就可以停下來去下結(jié)論了吧
是吧
所以計算方式是可以優(yōu)化的
具體原理涉及數(shù)學 emmmm.......... 先知道大概先吧 hhh
小小總結(jié)好像沒啥好說的 hhh
寫程序之前一定要理清思路 理清思路啊
否則越寫越亂 欲速則不達
Demo展示Please enter the range of prime numbers :
100
This is a prime number: 2
This is a prime number: 3
This is a prime number: 5
This is a prime number: 7
This is a prime number: 11
This is a prime number: 13
This is a prime number: 17
This is a prime number: 19
This is a prime number: 23
This is a prime number: 29
This is a prime number: 31
This is a prime number: 37
This is a prime number: 41
This is a prime number: 43
This is a prime number: 47
This is a prime number: 53
This is a prime number: 59
This is a prime number: 61
This is a prime number: 67
This is a prime number: 71
This is a prime number: 73
This is a prime number: 79
This is a prime number: 83
This is a prime number: 89
This is a prime number: 97
Process finished with exit code 0
代碼演練#include#includeint main() {
unsigned Number_Range = 100;
unsigned Half = 10;
printf("Please enter the range of prime numbers : \n");
scanf("%u", &Number_Range);
// 遍歷2 - 某個范圍的每個數(shù)字
for (unsigned i = 2; i<= Number_Range; ++i) {
// 用來做計算優(yōu)化 只要遍歷到這個數(shù) 遍歷就可以停止了
Half = (i / (sqrt(2))) + 1;
// 遍歷2 - 該數(shù)字本身(這里做了優(yōu)化, 不用遍歷到該數(shù)字本身, 只要到根號2倍就可以了),
// 是判斷是否能成為質(zhì)數(shù)的具體過程
for (unsigned j = 2; j<= Half; ++j) {
// 是質(zhì)數(shù)的條件
if (j >= Half){
printf("This is a prime number: %d \n",i);
}
// 不是質(zhì)數(shù)的條件
if (i % j == 0){
break;
}
}
}
return 0;
}
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
本文題目:C語言求質(zhì)數(shù)(個人練習)-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://jinyejixie.com/article4/dphgie.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、網(wǎng)站內(nèi)鏈、電子商務、微信公眾號、商城網(wǎng)站、網(wǎng)站設計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容