大學生新聞網,大學生新聞發布平臺
大學生新聞網
大學生新聞大學生活校園文學大學生村官
社會實踐活動社會實踐經歷社會實踐報告社會實踐總結社會實踐心得
全國排名校友會版軟科排名分類排名本科排名一本排名二本排名專科排名學校地址
求職簡歷職場法則面試技巧職場故事求職招聘大學生就業
英語學習計算機學習電氣工程機械工程經濟管理建筑設計財務會計
申請書證明書檢討書自薦信演講稿心得體會調查報告讀后感求職信推薦信其它范文

C語言判斷素數(求素數)(兩種方法)

素數又稱質數。所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2~16 的任一整數整除。

思路1):因此判斷一個整數m是否是素數,只需把 m 被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那么 m 就是一個素數。

思路2):另外判斷方法還可以簡化。m 不必被 2 ~ m-1 之間的每一個整數去除,只需被 2 ~  之間的每一個整數去除就可以了。如果 m 不能被 2 ~  間任一整數整除,m 必定是素數。例如判別 17 是是否為素數,只需使 17 被 2~4 之間的每一個整數去除,由于都不能整除,可以判定 17 是素數。

原因:因為如果 m 能被 2 ~ m-1 之間任一整數整除,其二個因子必定有一個小于或等于 ,另一個大于或等于 。例如 16 能被 2、4、8 整除,16=2*8,2 小于 4,8 大于 4,16=4*4,4=√16,因此只需判定在 2~4 之間有無因子即可。

兩種思路的代碼請看解析。

思路1) 的代碼:

#include <stdio.h>
 
int main(){
    int a=0;  // 素數的個數
    int num=0;  // 輸入的整數
 
    printf("輸入一個整數:");
    scanf("%d",&num);
 
    for(int i=2;i<num;i++){
        if(num%i==0){
            a++;  // 素數個數加1
        }
    }
 
    if(a==0){
        printf("%d是素數。\n", num);
    }else{
        printf("%d不是素數。\n", num);
    }
 
    return 0;
}
思路2)的代碼:

#include <stdio.h>
#include <math.h>
void main(){
    int m;  // 輸入的整數 
    int i;  // 循環次數
    int k;  // m 的平方根 
    printf("輸入一個整數:");
    scanf("%d",&m);
    // 求平方根,注意sqrt()的參數為 double 類型,這里要強制轉換m的類型 
    k=(int)sqrt( (double)m );
    for(i=2;i<=k;i++)
        if(m%i==0)
            break;
    // 如果完成所有循環,那么m為素數
    // 注意最后一次循環,會執行i++,此時 i=k+1,所以有i>k 
    if(i>k)
        printf("%d是素數。\n",m);
    else
        printf("%d不是素數。\n",m);
    return 0;
}
</math.h></stdio.h>
兩段代碼的輸出結果相同。


第一次運行結果:

輸入一個整數:1 1是素數。
第二次運行結果:

輸入一個整數:97 97是素數。
第三次運行結果:

輸入一個整數:10 10不是素數。
    作者:大學生新聞網    來源:大學生新聞網
    發布時間:2025-03-11    閱讀:
    掃一掃 分享悅讀
  • C語言輸出菱形(詳解版)
  • C語言漢諾塔問題,用C語言實現漢諾塔
  • 漢諾塔問題是指:一塊板上有三根針 A、B、C。A 針上套有 64 個大小不等的圓盤,按照大的在下、小的在上的順序排列,要把這 64 個圓盤從
  • 03-10 關注:4
  • C語言日期函數,日期處理函數
  • 定義一個表示日期的結構體類型,再分別定義函數完成下列功能:計算某一天是對應年的第幾天,這一年一共多少天;計算兩個日期之間相隔的
  • 03-10 關注:4
主站蜘蛛池模板: 亚洲毛片免费看| 国产福利在线导航| 亚洲理论电影在线观看| 8av国产精品爽爽ⅴa在线观看| 欧美性猛交xxxx免费看手交| 国产精品免费av片在线观看| 久热青青青在线视频精品| 蜜柚视频影院在线播放| 小蝌蚪视频在线观看www| 亚洲色精品vr一区二区三区| 16女性下面无遮挡免费| 日韩精品欧美激情亚洲综合| 国产97人人超碰caoprom| nanana最新在线视频免费观看网 | 日本xxxx18护士| 午夜精品久久久久久毛片| 99国内精品久久久久久久| 欧美vpswindowssex| 国产乱人视频在线播放| jzzjzz免费观看大片免费| 欧美人与动zoz0大全| 国产乱子伦一级毛片| HEYZO高无码国产精品| 朝鲜女人性猛交| 和主人玩露出调教暴露羞耻| 97久久精品人人做人人爽| 日本高清免费看| 免费无码AV一区二区三区| 男女一进一出猛进式抽搐视频 | 欧美日韩亚洲另类| 国产免费观看a大片的网站| 一个人www免费看的视频| 欧美一级做a影片爱橙影院| 含羞草传媒旧版每天免费3次 | 波多野结衣办公室在线| 国产小视频在线观看网站| 一个人看的日本www| 欧美xxxxx做受vr| 午夜亚洲国产成人不卡在线| 香蕉在线精品视频在线观看6| 我两腿被同学摸的直流水 |