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

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
主站蜘蛛池模板: 国产乱子伦在线观看不卡| 国产成人精品97| 久久亚洲日韩看片无码| 精品国产一区二区三区不卡在线 | 国产乱码卡一卡2卡三卡四| jizz视频护士| 最近中文字幕高清中文字幕无| 午夜成人免费视频| 亚洲校园春色另类激情| 成人在线欧美亚洲| 亚洲国产成人久久77| 老头一天弄了校花4次| 欧洲精品免费一区二区三区| 国产精品一区二区久久国产| 中文字幕无码精品三级在线电影 | 精品午夜福利1000在线观看| 国产精品va在线播放| 两个美女脱了内裤互摸网沾| 欧美在线视频a| 午夜内射中出视频| 久久综合丝袜长腿丝袜| 妲己丰满人熟妇大尺度人体艺| 亚洲AV第一成肉网| 男女做爽爽视频免费观看| 国产女人高潮叫床视频| 99无码精品二区在线视频| 日本卡一卡2卡三卡4卡无卡| 亚洲欧美久久精品| sss欧美华人整片在线观看| 性高湖久久久久久久久aaaaa| 亚洲加勒比在线| 男生和女生一起差差差差 | 国产精品国色综合久久| 一本到在线观看视频| 日韩美aaa特级毛片| 亚洲精品线在线观看| 老司机精品免费视频| 国产欧美久久久精品影院| a一级毛片免费高清在线| 无码国产成人午夜电影在线观看| 亚洲成a人片在线观看www|