如果一個數(shù)是素數(shù),只要判斷他是否能被2到這個數(shù)的開方之間的數(shù)整除就行了。
創(chuàng)新互聯(lián)公司長期為上千多家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為高明企業(yè)提供專業(yè)的成都網(wǎng)站建設、網(wǎng)站建設,高明網(wǎng)站改版等技術服務。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
int flag=0;
if(m==2){ //先判斷是不是2
flag=1;
}
else{
for(int i=2;i=sqrt(m);i++){
flag=1;
if(m%i==0){ //不是素數(shù)
flag=0;
break;
}
}
}
return? (flag==1)?m:-1; //判斷是否為1,為1輸出m,否則輸出-1 ,-1表示不是素數(shù)
如果是求某個范圍的素數(shù),可以連續(xù)調用這個方法,上面是常規(guī)的方法,還有更好的方法自己去查一下。
C語言-尋找素數(shù)
附代碼:
#includestdio.h
#includemath.h
int main()//原理:設ab=c,ab,則有a根號cb。若設a恒小于根號c,則只需判斷a是否為因數(shù)
{
int a, b;
printf("請按從小到大輸入兩個素數(shù):");
scanf_s("%d %d", a, b);
int n = 0,m=0,sum = 0;
double i, j;//i是從a到b的待篩選數(shù),j是從2到根號i的除數(shù),要判斷j是否為i的因數(shù)
for (i = a; i = b; i++)
{
m = 0;
int c = int(pow(i, 0.5));
for (j = 2; j = c; j++)
{
if ((i / j - int(i / j)) == 0.0)
{
m++;//m是i被從2到根號i的j除了之后,商為整數(shù),即發(fā)現(xiàn)j是i的因數(shù)的次數(shù)
}
}
if (m==0)
{
printf("找到素數(shù):%d\n", int(i));
n++;
sum = sum + i;
}
}
printf("大于等于%d,小于等于%d的素數(shù)的個數(shù)為:%d\n", a, b, n);
printf("它們的和為:%d", sum);
return 0;
}
除2以外,素數(shù)皆為奇數(shù),所以對2單獨處理,從3開始,將100以內(nèi)的奇數(shù)逐一進行素數(shù)考察,是則輸出,不是則跳過。另設一計數(shù)變量控制換行,每輸出5個素數(shù)添加一個回車。代碼如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int i,n,t;
pr
#include
#include
main()
{
int a,i,flag,count=0;
for(a=1;a =100;a++)
{
flag=0;
for(i=2;i
#include int main()
{
int i,n,k,b;
for(i=1,b=1;i=100;i++)
{
for(n=2;n {
k=i%n;
if(k==0)
break;
}
擴展資料:
C語言注意事項:
1、預編譯命令不是語言語句,不使用分號,不占用運行時間。
2、在IDE中通常包括編輯器,編譯器,匯編器和鏈接器,在這個過程中是語言等級逐級降低的過程,從最高級的c語言到中級語言匯編語言再到低級語言機器語言,編輯器生成文件為.c文件,編譯器生成的文件為obj匯編器生成的文件為.0文件,鏈接器生成的是exe文件。
3、注意 return和exit的區(qū)別, return是讓本函數(shù)運行結束,而exit是讓本程序運行結束。
4、在指針定義時,一定要進行初始化,否則就會出現(xiàn)意想不到的錯誤,如果不能找到對應地址賦值,那就賦給NULL(注意大寫)。
5、gets可以 scanf辦成辦不成的事,就是可以接受空格,puts在最后會輸出一個換行。
1、首先需要打開vs軟件工程,準備好一個空白的C語言文件,引入頭文件,主函數(shù)中暫時沒有內(nèi)容:
2、這里開始編寫代碼,這里判斷素數(shù)需要用到平方根,所以要在頭文件中引入math庫,然后編寫判斷素數(shù)的函數(shù),函數(shù)有唯一的參數(shù)n,代表素數(shù)。判斷的依據(jù)是素數(shù)n只要不能被 2 到根號下n之 間任一整數(shù)整除,則n必定是素數(shù),最后在主函數(shù)中調用判斷素數(shù)的函數(shù)即可:
3、最后,編譯運行程序,在彈出的命令行中輸入17這個素數(shù),程序的打印結果是17是素數(shù),證明了程序的正確性。以上就是用C語言判斷素數(shù)的流程:
網(wǎng)站題目:求素數(shù)函數(shù)c語言 求素數(shù)的c語言代碼
本文來源:http://jinyejixie.com/article0/ddichoo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、全網(wǎng)營銷推廣、定制網(wǎng)站、響應式網(wǎng)站、網(wǎng)站設計公司、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)