工具/材料
創(chuàng)新互聯(lián)服務(wù)緊隨時代發(fā)展步伐,進行技術(shù)革新和技術(shù)進步,經(jīng)過10年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計師、專業(yè)的網(wǎng)站實施團隊以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶要求對網(wǎng)站進行網(wǎng)站建設(shè)、做網(wǎng)站、建設(shè)、維護、更新和改版,實現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。
ubuntu,vim,gcc
01
打開ubuntu并開啟一個終端,輸入命令vim is_prime.c,打開編輯頁面,輸入預處理指令#includestdio.h用于在主函數(shù)中調(diào)用判斷函數(shù)。然后定義一個函數(shù)int is_prime(int n),即判斷整數(shù)n是否為素數(shù)。
02
首先,判斷這個數(shù)是否小于2.若是,則直接返回0,即表示它不是一個素數(shù)。
03
然后定義中間的因數(shù)i,初始值為2。依次使n對i取余數(shù),看n能否整除i,然后令i自增直到i的平方大于n。在這過程中,如果遇到n能整除i,則說明n不是一個素數(shù)。如果循環(huán)能夠直到i的平方大于n才結(jié)束,說明n是一個素數(shù)。
04
接下來,我們使用主函數(shù)進行測試,使用printf("%d : %d\n", n, is_prime(n))的格式進行輸出。如果輸出結(jié)果為0,說明不為素數(shù);結(jié)果為1,說明是一個素數(shù)。
測試的數(shù)據(jù)依次是2,4,9,15, 17, 23, 25。
05
退出編輯器vim,然后使用gcc編譯并運行它,得到結(jié)果。通過結(jié)果我們可以看出,預期的結(jié)果與我們對于素數(shù)的認知是相同的,說明我們的程序編寫沒有錯誤。以下是所有的源代碼:
#include stdio.h
//判斷一個數(shù)是否為素數(shù)的函數(shù)定義
int is_prime(int n)
{
//判斷n是否小于2.若小于則直接返回0
//表示n不是一個素數(shù)
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不是一個素數(shù)
return 0;
}
//如果程序運行到這里,說明i*i大于n
//說明n是一個素數(shù)
return 1;
}
int main()
{
printf("%d : %d\n", 2, is_prime(2));
printf("%d : %d\n", 4, is_prime(4));
printf("%d : %d\n", 9, is_prime(9));
printf("%d : %d\n", 15, is_prime(15));
printf("%d : %d\n", 17, is_prime(17));
printf("%d : %d\n", 23, is_prime(23));
printf("%d : %d\n", 25, is_prime(25));
return 0;
}
方法一:
#include<stdio.h>
int main(){
int i,j;
printf("請輸入一個正整數(shù)。\n");
scanf("%d",&i);
if(i<2)
printf("小于2,請重新輸入。\n");
elseif(i%2==0)
printf("%d不是一個素數(shù)。\n",i);
else{
for(j=2;j<=i/2;j++){
if(i%j==0){
printf("%d不是一個素數(shù)。\n",i);
break;
}
if(j>i/2){
printf("%d是一個素數(shù)。\n",i);
break;
}
}
}
}
方法二:
#include<stdio.h>
int main(){
int a=0;
int num=0;
scanf("%d",&num);
for(inti=2;i<num-1;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("YES\n");
}else{
printf("NO\n");
}
}
方法三:
#include"stdio.h"
int main(){
printf("\t\t\t\t\thelloworld\n");
int a,i;
do{
printf("inputnumberjudgeprimenumber:\n");
scanf("%d",&a);
for(i=2;i<a;i++)
if(a%i==0)break;
if(i==a)
printf("%d是素數(shù)\n",a);
else
printf("%d不是素數(shù)\n",a);
}while(a?。?);
}
1、首先需要打開visual C++ 6.0,接著在里面找到文件-新建-文件-C++ Source File選項,建設(shè)新文件。
2、接著需要在新建的頁面中輸入預處理命令和主函數(shù):
#includestdio.h ? ? ? /*函數(shù)頭:輸入輸出頭文件*/
void main() ? ? ? ? ? ? /*空類型:主函數(shù)*/
3、為使函數(shù)正常運行,需要再定義變量并輸入一個數(shù)字,相關(guān)程序如下:
int m,i;??????????????????? /*定義變量的數(shù)據(jù)類型為整型*/
printf("輸入一個數(shù):");???? /*輸出文字提示*/
scanf("%d",m);???????????? /*輸入一個數(shù)字*/
4、隨后需要使用for函數(shù)和if函數(shù)判斷是否是素數(shù),具體程序如下:
for(i=2;i=m;i++)?????????? /*用for函數(shù)重復下面步驟*/
if(m%i==0)????????????? /*判斷輸入的數(shù)是否能被除1和本身以外的數(shù)整除*/
break;
if(im)???????????????? /*判斷i是否大于m*/
printf("%d 是素數(shù)\n",m);?????? /*輸出是素數(shù)*/
else
printf("%d 不是素數(shù)\n",m);???? /*輸出不是素數(shù)*/
5、輸入完整的源代碼,運行以后,就會在運行界面中顯示判斷結(jié)果。
#includestdio.h?????????????? /*函數(shù)頭:輸入輸出頭文件*/
void main()???????????????????? /*空類型:主函數(shù)*/
{
int m,i;??????????????????? /*定義變量的數(shù)據(jù)類型為整型*/
printf("輸入一個數(shù):");???? /*輸出文字提示*/
scanf("%d",m);???????????? /*輸入一個數(shù)字*/
for(i=2;i=m;i++)?????????? /*用for函數(shù)重復下面步驟*/
if(m%i==0)????????????? /*判斷輸入的數(shù)是否能被除1和本身以外的數(shù)整除*/
break;
if(im)???????????????? /*判斷i是否大于m*/
printf("%d 是素數(shù)\n",m);?????? /*輸出是素數(shù)*/
else
printf("%d 不是素數(shù)\n",m);???? /*輸出不是素數(shù)*/
}
目的:判斷一個數(shù)是否為素數(shù)
#?include?stdio.h
int?main(void)
{
int m;
int?i;
scanf("%d",m);
for(i?=?2;?i? m;?i++) ? ? //2到(m-1)的數(shù)去除m
{
if(m%?i?==?0)???????//?判斷能否整除
break;
}
if?(i?== m)
printf("YES!\n");
else
printf("No!\n");
}
for循環(huán)的功能:
①若能整除,通過break跳出函數(shù);
②若一直到m-1都不能整除,此時i再自增1到m,不滿足i? m跳出for循環(huán),這時i?= m。
擴展資料:
素數(shù)定理:
1、在一個大于1的數(shù)a和它的2倍之間(即區(qū)間(a,?2a]中)必存在至少一個素數(shù)。
2、存在任意長度的素數(shù)等差數(shù)列。
3、一個偶數(shù)可以寫成兩個合數(shù)之和,其中每一個合數(shù)都最多只有9個質(zhì)因數(shù)。(挪威數(shù)學家布朗,1920年)。
4、一個偶數(shù)必定可以寫成一個質(zhì)數(shù)加上一個合成數(shù),其中合數(shù)的因子個數(shù)有上界。(瑞尼,1948年)。
5、一個偶數(shù)必定可以寫成一個質(zhì)數(shù)加上一個最多由5個因子所組成的合成數(shù)。后來,有人簡稱這結(jié)果為?(1?+?5)(中國潘承洞,1968年)。
6、一個充分大偶數(shù)必定可以寫成一個素數(shù)加上一個最多由2個質(zhì)因子所組成的合成數(shù)。簡稱為?(1?+?2)。
參考資料來源:百度百科-質(zhì)數(shù)
本文名稱:c語言判斷素數(shù)函數(shù)代碼 c語言中判斷素數(shù)的代碼
網(wǎng)頁鏈接:http://jinyejixie.com/article46/dododhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、做網(wǎng)站、關(guān)鍵詞優(yōu)化、網(wǎng)頁設(shè)計公司、ChatGPT、微信小程序
聲明:本網(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)