當前位置:首頁 > 趣味生活

c語言輸出1到100的素數

Q1:用C語言編寫編寫輸出1到100之間的素數

#include
#include"math.h"
int ss(int n)
{
int k;
for(k=2;k<=sqrt(n);k++)
{if(n%k==0) return 0;}
}
main()
{
int x,m=0;
for(x=0;x<=100;x++)
if(ss(x))
{printf("%5d",x);m++;if(m%5==0)printf("\n");}
}W;Ww.BaZHisHi.cOm

Q2:C語言求1到100的素數

除了2,所有素數都是奇數,所以只考查>2的奇數;奇數肯定不能被偶數盡除,所以除數也只用奇數,且用j*j<=i這種形式控制循環,避免開方計算。
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
inti,j,k;
printf("PrimeNumbersbetween1to100areasfollows:\n2");
for(i=3;i<100;i+=2){//除了2只考查奇數,避免窮舉
for(j=3;(k=j*j)<=i;j+=2)//只用奇數去除,且j*j<=i限制循環以提高時效
if(i%j==0)break;
if(k>i)
printf("%d",i);
}
printf("\n");
return0;
}

Q3:用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是素數

}
}

擴展資料:

素數被利用在密碼學上,所謂的公鑰就是將想要傳遞的信息在編碼時加入質數,編碼之後傳送給收信人,任何人收到此信息後,若沒有此收信人所擁有的密鑰,則解密的過程中(實為尋找素數的過程),將會因為找質數的過程(分解質因數)過久,使即使取得信息也會無意義。

在汽車變速箱齒輪的設計上,相鄰的兩個大小齒輪齒數設計成質數,以增加兩齒輪內兩個相同的齒相遇齧合次數的最小公倍數,可增強耐用度減少故障。

在害蟲的生物生長週期與殺蟲劑使用之間的關係上,殺蟲劑的質數次數的使用也得到了證明。實驗表明,質數次數地使用殺蟲劑是最合理的:都是使用在害蟲繁殖的高潮期,而且害蟲很難產生抗藥性。

以質數形式無規律變化的導彈和魚雷可以使敵人不易攔截。

多數生物的生命週期也是質數(單位為年),這樣可以最大程度地減少碰見天敵的機會。

Q4:c語言求100以內的素數

#include "stdio.h"
void main()
{
for(int i=2;i<=100;i++)/*確定範圍:2——100*/
{
for(int k=2;k{
if(i%k==0)break;/*如果找到一個不是1或者它本身的因子,則停止該循環,此時k}
if(k==i)printf("%d\n",i);/*當k=i時表明i不存在除1和本身以外因子,因而它是素數,打出來*/
}
}

WwW.BaZhishI.∴cOm

Q5:C語言,輸出1到100之間的素數?檢查一下?

#include
#include
int main()
{
int p=2,i=2,k; // 2也是素數
while(p<=100)
{
k=(int)sqrt(p);
while(i<=k)
{
if(p%i==0) break;
i++;
}
if(i>k) printf("%d\n",p);
p++;
i = 2; // i值要還原
}
}

Q6:c語言程序中怎樣輸出1到100的素數

定義一個求判斷素數的函數,調用此函數對1~100中2和大於2的奇數進行判斷,是素數的輸出,舉例代碼如下:

#include"stdio.h"
intprime(intn){//判斷n是否為素數
inti;
if(n>2&&!(n&1)n<2)
return0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return0;
return1;
}
intmain(intargc,char*argv[]){
intn;
for(n=2;n<100;n+=n!=2?2:1)
if(prime(n))
printf("%3d",n);
printf("\n");
return0;
}

Q7:求1到100之間的素數的和 c語言

#include
intisprime(intn)
{for(inti=2;i*i<=n;i++)
if(n%i==0)return0;
returnn>1;
}
intmain()
{inti,s=0;
for(i=1;i<101;i++)
if(isprime(i))s+=i;
printf("%d\n",s);
return0;
}

猜你喜歡

更多
此页面为TW繁体版,其他版本: 中文简体 | HK 繁体