當前位置:首頁 » 編程語言 » 質數猜想c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

質數猜想c語言

發布時間: 2022-08-10 05:41:41

『壹』 c語言 尋找素數對

#include<stdio.h>
#include<string.h>const int MAX=10005;bool b[MAX];int main()
{
int i,j,k,m,f;
//求出10000以內的所有素數。
memset(b,true,sizeof(b));
i=2;
while(i<102)
{
if(b[i])
{
j=i*i;
while(j<MAX)
{
b[j]=false;
j+=i;
}
}
i++;
}
while(scanf("%d",&m)==1)
{
k=m>>1;
i=2;
while(i<=k)
{
if(b[i]&&b[m-i])
f=i;
i++;
}
printf("%d %d\n",f,m-f);
}
return 0;
}

『貳』 C語言編程驗證「哥德巴赫猜想」,任何大於2的偶數都是兩個素數之和。

#include<stdio.h>

intisPrime(int);

intmain(){
intn;
for(n=4;n<=100;n+=2){
inti;
for(i=2;i<=n/2;i++)
if(isPrime(i)&&isPrime(n-i)){
printf("%d=%d+%d ",n,i,n-i);
break;return0;}

intisPrime(intn){inti;if(n<2)return0;if(n==2)
return1;
else
for(i=2;i*i<=n;i++)
if(n%i==0)
return0;
return1;

『叄』 C語言求質數問題

#include<stdio.h>

#include<math.h>

intmain()

{

intm,n,c=0,i,t,j;

scanf("%d%d",&m,&n);

if(m==0&&n==0)//<===========

{

return0;

}

elseif(m>n)

{

t=m,m=n,n=t;

}

//else

for(i=m;i<=n;i++)

{

for(j=2;j*j<=i;j++)//<============

{

if(i%j==0)

break;

}
if(j*j>i)//<==========

{

printf("%d",i);

c++;

if(c==10)
{

printf(" ");

c=0;
}

}

}



return0;

}

『肆』 跪求~用C語言編寫程序:多項式素數猜想

#include <stdio.h>
#include <math.h>

int main(int argc, char *argv[])
{
int i;
int result = 1;
for (i = 1; i <= 40; i++)
{
if (!isPM(i * i - i + 41))
{
result = 0;
break;
}
}
if (result == 1)
printf ("Ture! \n");
else
printf ("False! \n");

return 0;
}

int isPM(int n)
{
int r = 1;
int i;
for (i = 2; i < sqrt(n); i++)
{
if (n % i == 0)
{
r = 0;
break;
}
}
return r;
}

『伍』 哥德巴赫猜想!!!! C語言

一)設計思想:<br> <br>1:為了證明一個小於都2000的偶數,能被兩個素數相加,首先求出1-2000內的所有素數,以方便相加,我們將保存在一個sushu[2000]數組中備用。<br> <br>2:從鍵盤輸入一個偶數後在核心函數中處理,尋找合適的兩個素數。<br> <br>3:輸出結果。<br> <br> 二)流程圖:<br> <br>(畫不出來改成文字了)<br> <br>1:聲明所需的變數及數組<br> 2:求出所有2000以內的素數保存在數組中備用。<br> 3:輸入一個偶數,並在素數組中尋找合適的兩個素數<br> 4:將結果輸出<br> <br> 三)難重點及解決方法:<br> 1:2000以內的素數的求出,我們用了兩個循環套來使得素數各方面條件都得到滿足後保存入數組。<br> <br>2:查找滿足的兩個素數,為了能查到匹配的兩個素數,我們也用了兩個循環套來保證一個不漏的找到。<br> <br>四)核心內容:<br> 1:求素數的內容如下:<br> <br> s=ss=0;<br> <br> sushu[0]=2;<br> <br> xiabiao=1;<br> <br> for (int s=3;s<2000;s++)<br> {<br> for (int ss=2;ss<=s;ss++)<br> {<br> if (0==s%ss) break;<br> }<br> <br> if (s==ss) sushu[xiabiao++]=s;<br> }<br> <br>////////////////////////////////////////////////////<br> <br>2:查找匹配的兩個素數的內容如下:<br> <br> for (s=0;s<xiabiao-1;s++)<br> {<br> for (ss=s+1;ss<xiabiao;ss++)<br> {<br> <br> <br> if (m_1==sushu[s]+sushu[ss])<br> <br>{ <br> m_2=sushu[s];<br> <br>m_3=sushu[ss];<br> <br>UpdateData(FALSE);<br> <br>return ;<br> }<br> }<br> <br> }<br> <br> 五)程序運行結果截圖:

『陸』 c語言編程填空哥德巴赫猜想

第一空:num%i==0
第二空:isPrime(a)==1或isPrime(a)
第三空:(isPrime(j)==1)&&(isPrime(a-j)==1)

『柒』 用C語言驗證歌德巴赫猜想(任何充分大的偶數都可以由兩個素數之和表示)。

#include<stdio.h> int f(int n) { int i;"請輸入一個不小於6的//首先生成質數表,然後雙重循環輸出2000以內所有偶數的兩個質數和的形式

『捌』 求c語言題目答案。。。。

#include<stdio.h>
#include<string.h>
int vis[20000005];
int main()
{
int i,j,n;

memset(vis,0,sizeof(vis));

for (i=2;i<=20000000;i++)

if (vis[i]==0)

for (j=2;i*j<=20000000;j++) vis[i*j]=1;

while (scanf("%d",&n)!=EOF)

{

for (i=n+1;;i++)

if (vis[i]==0&&vis[i+2]==0){ printf("%d %d\n",i,i+2); break;}

}
return 0;

}

『玖』 C語言 哥德巴赫猜想:任意大於等於6的偶數都可以分解為2個質數之和:如6=3+3,8=3+5;10

#include<stdio.h>
intprime(intn)
{
if(n%2==0&&n!=2)return0;
inti=3;
for(;i<n;i+=2)
if(n%i==0)return0;
return1;
}
intmain()
{
intn,j=0;
scanf("%d",&n);
if(n%2==1||n<6)return1;
for(j=2;j<=n/2;j++)
{
if(prime(j)&&prime(n-j))
printf("%d=%d+%d ",n,j,n-j);
}
return0;
}