#include stdio.h
承德網站制作公司哪家好,找創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設等網站項目制作,到程序開發,運營維護。創新互聯公司于2013年創立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯公司。
int main()
{
int a=0;
int num=0;
int i;
printf("輸入一個整數:");
scanf("%d",num);
for(i=2;inum;i++){
? if(num%i==0){
? ? ? a++;
? }
}
if(a==0){
? printf("%d是素數。\n", num);
}else{
? printf("%d不是素數。\n", num);
}
return 0;
}
擴展資料:
質數又稱素數。一個大于1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。
基本算法:若 k%m==0 則說明 k 不是素數。
判斷整數n是否為素數——采用枚舉法求解。
采用枚舉算法解題的基本思路:
(1)確定枚舉對象、枚舉范圍和判定條件;
(2)枚舉可能的解,驗證是否是問題的解。
枚舉算法的一般結構:while循環。
參考資料來源:百度百科-枚舉法
#include stdio.h
#include math.h
void fun2(int m)
{
int k=0,a[10];
for(int i=2;im;i++)
if(m%i==0)
a[k++]=i;
for(int i=0;ik;i++)
{
printf("%d",a[i]);
if(i!=k-1)
printf(",");
}
}
void fun1(int m)
{
if(m2)
printf("%d is a prime number",m);
for(int i=2;i*i=m;i++)
if(m%i==0)
fun2(m);
else
printf("%d is a prime number",m);
}
int main( )
{ int n;
scanf("%d",n);
fun1(n);
return 0;
}
#includestdio.h
int su(int n,int m)
{
if(m==1||m==0)return 0;
if(n%m==0)return 1;
else return su(n,m-1);
}
int main()
{
int n,k,m;
scanf("%d",n);
m=n-1;
k=su(n,m);
if(k==0)printf("這是素數.");
else printf("這不是素數.");
}
我在VC++編譯過了,沒問題。
void fun(int m)
{
static int k=(int)sqrt((double)m);
if(k 2)
{
printf("該數字是素數。\n");
return ;
}
if(m%k==0)
{
printf("該數字不是素數。\n");
return ;
}
k--;
fun(m);
}
目的:判斷一個數是否為素數
#?include?stdio.h
int?main(void)
{
int m;
int?i;
scanf("%d",m);
for(i?=?2;?i? m;?i++) ? ? //2到(m-1)的數去除m
{
if(m%?i?==?0)???????//?判斷能否整除
break;
}
if?(i?== m)
printf("YES!\n");
else
printf("No!\n");
}
for循環的功能:
①若能整除,通過break跳出函數;
②若一直到m-1都不能整除,此時i再自增1到m,不滿足i? m跳出for循環,這時i?= m。
擴展資料:
素數定理:
1、在一個大于1的數a和它的2倍之間(即區間(a,?2a]中)必存在至少一個素數。
2、存在任意長度的素數等差數列。
3、一個偶數可以寫成兩個合數之和,其中每一個合數都最多只有9個質因數。(挪威數學家布朗,1920年)。
4、一個偶數必定可以寫成一個質數加上一個合成數,其中合數的因子個數有上界。(瑞尼,1948年)。
5、一個偶數必定可以寫成一個質數加上一個最多由5個因子所組成的合成數。后來,有人簡稱這結果為?(1?+?5)(中國潘承洞,1968年)。
6、一個充分大偶數必定可以寫成一個素數加上一個最多由2個質因子所組成的合成數。簡稱為?(1?+?2)。
參考資料來源:百度百科-質數
網站標題:c語言遞歸函數素數程序,c語言遞歸函數詳解
文章轉載:http://vcdvsql.cn/article42/heooec.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、電子商務、企業建站、虛擬主機、外貿網站建設、移動網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯