❶ 用c語言寫出求素數的編程
參考代碼:
int main(){
int num,m,n,d,c,priSum;
printf("Enter the Range Between m,n ");
scanf("%d %d", &m,&n);
for (num = n; num <= m; num++)
{
for(d = 2; d < num; d++)
{
if (num % d == 0){
continue;
}
}
if (d == num){
priSum += d;
c++;
}
}
printf("m~n之間的素數個數:%d,和 %d ",c,priSum);
return 0;
}
❷ C語言編寫一個程序判斷一個數是否為素數急求
目的:判斷一個數是否為素數
#include<stdio.h>
intmain(void)
{
int m;
inti;
scanf("%d",&m);
for(i=2;i< m;i++) //2到(m-1)的數去除m
{
if(m%i==0)//判斷能否整除
break;
}
if(i== m)
printf("YES!
");
else
printf("No!
");
}
for循環的功能:
①若能整除,通過break跳出函數;
②若一直到m-1都不能整除,此時i再自增1到m,不滿足i< m跳出for循環,這時i= m。
(2)素數c語言程序擴展閱讀:
素數定理:
1、在一個大於1的數a和它的2倍之間(即區間(a,2a]中)必存在至少一個素數。
2、存在任意長度的素數等差數列。
3、一個偶數可以寫成兩個合數之和,其中每一個合數都最多隻有9個質因數。(挪威數學家布朗,1920年)。
4、一個偶數必定可以寫成一個質數加上一個合成數,其中合數的因子個數有上界。(瑞尼,1948年)。
5、一個偶數必定可以寫成一個質數加上一個最多由5個因子所組成的合成數。後來,有人簡稱這結果為(1+5)(中國潘承洞,1968年)。
6、一個充分大偶數必定可以寫成一個素數加上一個最多由2個質因子所組成的合成數。簡稱為(1+2)。
❸ 判斷素數的c語言程序是什麼
基本思想:把m作為被除數,將2—INT()作為除數,如果都除不盡,m就是素數,否則就不是。
可用以下程序段實現:
voidmain()
{intm,i,k;
printf("pleaseinputanumber: ");
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<k;i++)
if(m%i==0)break;
if(i>=k)
printf("該數是素數");
else
printf("該數不是素數");
}
將其寫成一函數,若為素數返回1,不是則返回0
intprime(m%)
{inti,k;
k=sqrt(m);
for(i=2;i<k;i++)
if(m%i==0)return0;
return1;
}
(3)素數c語言程序擴展閱讀:
100->200之間的素數的個數,以及所有的素數
#include<stdio.h>
#include<math.h>
intmain()
{
inta,m,k,i;
a=0;
for(i=101;i<=200;i++)
{
for(k=2;k<i;k++)
if(i%k==0)break;
if(k>=i)
a++;
}
printf("%d ",a);
for(i=101;i<=200;i++)
{
for(k=2;k<i;k++)
if(i%k==0)break;
if(k>=i)
a++;
if(k>=i)
printf("%d",i);
}
printf(" ");
return0;
}
❹ 用C語言編1到100之間的素數程序
程序及解釋如下:
首先判斷素數的演算法:用一個數分別去除以2到sqrt(這個數),如果能被整除, 則表明此數不是素數,反之是素數。
則有如下程序
{ int m,k,i;
for(m=1;m<=100;m=m+2) //m=m+2,因為偶數都不是素數,不用考慮,所以每次m+2.
{ k=sqrt(m) //先求這個數的平方跟
for(i=2;i<=k;i++) //然後用i(從2到k,即m的平方跟)去除m,
if(m%i==0) break; //如果能被整除, 則不是素數,break
if(i>=k+1) pritnf("%d",m); //如果i>k+1,則說明沒有數能整除m.則m是素數
}
}
(4)素數c語言程序擴展閱讀:
素數被利用在密碼學上,所謂的公鑰就是將想要傳遞的信息在編碼時加入質數,編碼之後傳送給收信人,任何人收到此信息後,若沒有此收信人所擁有的密鑰,則解密的過程中(實為尋找素數的過程),將會因為找質數的過程(分解質因數)過久,使即使取得信息也會無意義。
在汽車變速箱齒輪的設計上,相鄰的兩個大小齒輪齒數設計成質數,以增加兩齒輪內兩個相同的齒相遇嚙合次數的最小公倍數,可增強耐用度減少故障。
在害蟲的生物生長周期與殺蟲劑使用之間的關繫上,殺蟲劑的質數次數的使用也得到了證明。實驗表明,質數次數地使用殺蟲劑是最合理的:都是使用在害蟲繁殖的高潮期,而且害蟲很難產生抗葯性。
以質數形式無規律變化的導彈和魚雷可以使敵人不易攔截。
多數生物的生命周期也是質數(單位為年),這樣可以最大程度地減少碰見天敵的機會。
參考資料:網路 素數
❺ 求素數的C語言程序!
素數,也叫質數,就是指除了1和該數本身以外,不能被其他任何整數整除的正數。
#include<stdio.h>#include<math.h>voidmain(){intm,k,i,n=0;for(m=1;m<=200;m=m+2){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1){printf("%5d",m);n=n+1;❻ 求素數的c語言程序
// 素數,也叫質數,就是指除了1和該數本身以外,不能被其他任何整數整除的正數#include<stdio.h>#include<math.h>void main(){ int m, k, i, n=0; for(m=1; m <= 200; m=m+2) { k = sqrt(m); for(i=2; i <= k; i++) if(m % i == 0) break; if(i >= k + 1) { printf("%5d",m); n = n + 1; } }}請放心使用,有問題的話請追問
滿意請及時採納,謝謝,採納後你將獲得5財富值。
你的採納將是我繼續努力幫助他人的最強動力!
❼ C語言求素數代碼
方法有2個:
1、判斷n是否能被2~√n間的整數整除
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
double k;
scanf("%d", &n);
k = sqrt(n);
for (i = 2; i <= k;i++)
{
if (n%i == 0) break;
}
if (i <=k) printf("This is not a prime.");
else printf("This is a prime");
return 0;
}
(7)素數c語言程序擴展閱讀:
C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。因此,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。
判斷語句(選擇結構):
if 語句:「如果」語句;if—else 語句:「若…(則)…否則…」語句;switch 語句:「切換」語句;switch—case:「切換—情況」語句。
循環語句(循環結構):
while 語句:「當…」語句;do—while 語句:「做…當…(時候)」語句;for 語句:條件語句(即「(做)…為了…」語句)。
跳轉語句(循環結構:是否循環):
goto 語句:「轉舵」語句,也稱「跳轉」語句;break 語句:「中斷」(循環)語句,即結束整個循環;continue 語句:「繼續」語句(結束本次循環,繼續下一次循環);return 語句:「返回」語句。
需要說明的是:
1、一個C語言源程序可以由一個或多個源文件組成。
2、每個源文件可由一個或多個函數組成。
3、一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。是整個程序的入口。
4、源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。
5、每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。(結構體、聯合體、枚舉型的聲明的「}」後要加「 ;」。)
6、標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
書寫規則
1、一個說明或一個語句佔一行。
2、用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。
3、低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。
❽ 素數問題C語言編程
程序如下:
main()
{
int n,i,t=0;
scanf("%d",&n);
for(i=2;i<n/2;i++)
if(n%i==0)
{
t=1;
break;
}
if(t)
printf("%d是素數\n",n);
else
printf("%d不是素數\n",n);
}
有什麼問題請留言。