c語言驗證哥德巴赫
⑴ c語言驗證哥德巴赫猜想
按照你的要求編寫的驗證哥德巴赫猜想的C語言程序如下
#include<stdio.h>
intisPrime(longn){
longi;
for(i=2;i<n;i++)
if(n%i==0)
break;
if(i==n)
return1;
else
return0;
}
intmain(){
intrepeat,i;
longn,j;
scanf("%d",&repeat);
for(i=1;i<=repeat;i++){
scanf("%ld",&n);
for(j=1;j<=n/2;j++){
if(isPrime(j)==1&&isPrime(n-j)==1){
printf("%ld%ld ",j,n-j);
break;
}
}
}
return0;
}
運行結果
輸入2
輸入10
輸出37
輸入20
輸出317
⑵ 【c語言】如何驗證哥德巴赫猜想
測試結果:
哥德巴赫猜想,請輸入一個數n:
34
猜想:34=3+31
猜想:34=5+29
猜想:34=11+23
猜想:34=17+17
猜想:34=23+11
猜想:34=29+5
猜想:34=31+3
請按任意鍵繼續. . .
代碼:
#include "stdio.h"
#include "stdlib.h"
int isPrimeNumber(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int gotbaha(int n)
{
int i;
for(i=2;i<n;i++)
{
if(isPrimeNumber(i)&&isPrimeNumber(n-i))
{
printf("猜想:%d=%d+%d\n",n,i,n-i);
}
}
}
main()
{
int n;
printf("哥德巴赫猜想,請輸入一個數n:\n");
scanf("%d",&n);
gotbaha(n);
system("pause");
}
說明:樓主的思路很清晰,代碼實現起來很順手!
1:輸入一個數n
2:哥德巴赫從2開始到n-1 一旦 i和n-i都是素數那麼就列印出這個拆分結果
3:判斷素數函數獨立出來。
要顯示不重復的:
哥德巴赫猜想,請輸入一個數n:
34
猜想:34=3+31
猜想:34=5+29
猜想:34=11+23
猜想:34=17+17
請按任意鍵繼續. . .
將int gotbaha(int n)
{
int i;
for(i=2;i<=n/2;i++) 【i<=n/2】即可
樓主好運!PS:Negamax編寫!