日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

掌握C语言判断素数(质数)相关内容

發布時間:2023/12/10 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 掌握C语言判断素数(质数)相关内容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

素數就是(質數),就是只能被1和自身整除的大于1自然數。

例一、已知m是一個大于1的正整數,編程序判斷m是否為素數。

編程思路:

1、要判斷m是否為素數,只需要檢測m是否能被2到m-1之間的整數整除。

2、判斷思路(1)

如果m不能被2整除;(例如m=7)
m也不能被3整除;

。。。。。

m也不能被m-1整除;
m是素數。
(需要同時滿足多個條件)

3、判斷思路(2)

若m能被2到m-1之間的某一個整數整除,則不是素數(列如m-9)
(只需要滿足一個條件)

4、

判斷m是否能夠被i整除,如果不能則i自增,然后再次判斷循環,如果當能被整除的時候聲明m不是素數,如果都不能被整除說明m是素質

5、


源代碼:
return語句直接退出程序

改進算法
當是素數的時候將i累加,直達i=m
當不是素數i不累加直接跳出循環,i不等于m

for循環改進算法

例二、計算并輸出high以內最大的10個素數的和,high的值由主函數傳輸給fun()函數

#include<conio.h> #include<stdio.h> #include<math.h> int fun(int high){int sum = 0,n = 0,j,yes;while((high>=2) && (n < 10)){yes = 1;//這里是判斷是否是素數 for(j=2;j<=high/2;j++){//當high余上j的時候等于0說明,有余數,不是素數 (只要有一次判斷其可以整除) if(high%j==0){yes=0;break;//中斷循環 }}//上面循環結束說明 high是素數 if(yes){//說明是質數, sum+=high;//將其累加到sum當中 n++;}high--;//從100依次遞減判斷,尋找10最大素質累加 }return sum; } void main(){printf("%d\n",fun(100)); }

總結

以上是生活随笔為你收集整理的掌握C语言判断素数(质数)相关内容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。