用C語言編寫判斷一個數是否是素數的程序
工具/材料
ubuntu,vim,gcc
操作方法
打開ubuntu並開啟一個終端,輸入命令vim is_prime.c,打開編輯頁面,輸入預處理指令#include<stdio.h>用於在主函數中調用判斷函數。然後定義一個函數int is_prime(int n),即判斷整數n是否為素數。
首先,判斷這個數是否小於2.若是,則直接返回0,即表示它不是一個素數。
然後定義中間的因數i,初始值為2。依次使n對i取餘數,看n能否整除i,然後令i自增直到i的平方大於n。在這過程中,如果遇到n能整除i,則説明n不是一個素數。如果循環能夠直到i的平方大於n才結束,説明n是一個素數。
接下來,我們使用主函數進行測試,使用printf("%d : %dn", n, is_prime(n))的格式進行輸出。如果輸出結果為0,説明不為素數;結果為1,説明是一個素數。
測試的數據依次是2,4,9,15, 17, 23, 25。
退出編輯器vim,然後使用gcc編譯並運行它,得到結果。通過結果我們可以看出,預期的結果與我們對於素數的認知是相同的,説明我們的程序編寫沒有錯誤。以下是所有的源代碼:
#include <stdio.h>
//判斷一個數是否為素數的函數定義
int is_prime(int n)
{
//判斷n是否小於2.若小於則直接返回0
//表示n不是一個素數
if(n < 2)
return 0;
//定義一箇中間變量i,初始化i=2
int i = 2;
//依次判斷每一個不大於根號n的i是否能被n整除
for(i = 2; i * i <= n;i++)
{
//如果能夠整除
if(n % i == 0)
//直接返回0,表示n不是一個素數
return 0;
}
//如果程序運行到這裏,説明i*i大於n
//説明n是一個素數
return 1;
}
int main()
{
printf("%d : %dn", 2, is_prime(2));
printf("%d : %dn", 4, is_prime(4));
printf("%d : %dn", 9, is_prime(9));
printf("%d : %dn", 15, is_prime(15));
printf("%d : %dn", 17, is_prime(17));
printf("%d : %dn", 23, is_prime(23));
printf("%d : %dn", 25, is_prime(25));
return 0;
}
-
沒身份證怎麼坐高鐵
(01)如果您沒有身份證,您仍然可以乘坐高鐵,但需要提供其他真實、準確的有效身份證件信息或複印件。以下是一些可以替代身份證的證件:1.臨時身份證明:如果您在購票或乘車前因有效身份證件未攜帶、丟失等原因無法出示有效證件,您可以至車站鐵路公安制證口辦理乘坐旅客列...
-
致命毒藥有哪些?盤點致死速度最快的十種毒藥
導語:在中國古代就有很多關於能讓人致命的毒藥的記載,比如説常在電視上看到的鴆酒、斷腸草和鶴頂紅等等,這些畢竟都只是在古代出現過。那麼你們知道現今有哪些致命毒藥嗎?接下來呢就由探祕志小編為大家盤點致命速度最快的十種毒藥,以下排名不分先後,感興趣的不妨一...
-
莊子的思想主張是什麼
(01)莊子的思想主張主要包括以下幾點:1.唯心主義的哲學思想:莊子認為“道”是無限的、自本自根、無所不在的,強調事物的自生自化。他主張一切事物都在變化,沒有什麼是永恆不變的,包括人的認知和觀念。(02)因此,他傾向於主觀唯心主義體系。2.無所用天下為的政治主張:莊子反...
-
人心不足蛇吞象是什麼意思?蛇吞象的典故是什麼
解答:人心不足蛇吞象是指一個人不要太貪心,不然遲早會被慾望反傷,就像蛇妄想要吞下大象一樣,最早出自《山海經》中巴蛇食象的故事,傳説神話中的巴蛇在吞下大象後,也需要消化3年的時間,才能把骨頭吐出來。人心不足蛇吞象是什麼意思?關於人心不足蛇吞象的來源,有着很多不...