⑴ 初學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,最小公倍數為它們乘積的一半;