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

c語言分解為兩個素數

發布時間: 2023-08-28 17:37:20

⑴ 初學c語言 驗證哥德巴赫猜想:一個大偶數可以分解成兩個素數之和。

你好,我給在幾個地方加了幾個{}就可以了,代碼:


#include<stdio.h>

#include<math.h>

main()

{

intn,x,y,a,b,i,j;

for(n=96;n<=100;n+=2)

{

for(x=3;x<n/2;x+=2)

{漏碧//第一個括弧

a=sqrt(x);

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

if(x%i==0)break;

if(i>冊改=a+1)

{//第二個括弧它必須保證找到第一個素數,才能執行下面

y=n-x;//找第二個素數

b=sqrt(y);

for(j=2;j<=b;j++)

if(y%j==0)break;

if(j>=b+1)

printf("%d=%d+%d ",n,x,y);

}

}返姿舉//第一個括弧結束

}

}

⑵ C語言:將10-20之間的全部偶數分解為兩個素數之和。這個該怎麼弄謝謝

#include<stdio.h>
//2-20的素數-----235711131719
//1020的偶數---101214161820
intchaifen(intx,intsushu[]);
intmain()
{
intsushu[8]={2,3,5,7,11,13,17,19};
for(inti=10;i<=20;i++)
{
if(i%2==0)chaifen(i,sushu);
}

return0;
}
//拆分函數,用來把一個偶數拆分為兩個素數之和
intchaifen(intx,intsushu[])
{
inti,j;
for(i=0;i<7;i++)
{
for(j=i+1;j<8;j++)
{
if(x==sushu[i]+sushu[j]){
printf("%d=%d+%d ",x,sushu[i],sushu[j]); //如果找到了,就輸出這個素數組合
return0; //結束函數
}
}
}
return0;
}

⑶ c語言編程 從鍵盤中輸入一個偶數,編程實現將該偶數拆分成兩個素數之和並輸出在屏幕上

#include<stdio.h>

int isprime(int n)

{

int i;

for(i=2;i<=n/2;i++)

if(n%i==0)

return 0;

return 1;

}

void main()

{

int n,i;

scanf("%d",&n);

for(i=2;i<n/2;i++)

if(isprime(i) && isprime(n-i))

printf("%d %d ",i,n-i);

}

(3)c語言分解為兩個素數擴展閱讀:

(1)兩個連續整數中必是一個奇數一個偶數;

(2)奇數與奇數的和或差是偶數;偶數與奇數的和或差是奇數;任意多個偶數的和都是偶數;單數個奇數的和是奇數;雙數個奇數的和是偶數;

(3)兩個奇(偶)數的和或差是偶數;一個偶數與一個奇數的和或差一定是奇數;

(4)除2外所有的正偶數均為合數;

(5)相鄰偶數最大公約數為2,最小公倍數為它們乘積的一半;