這個(gè)程序?qū)懙暮芎?jiǎn)潔,明了,強(qiáng)!
#include <stdio.h>
int check(int n)//驗(yàn)證n是否為素?cái)?shù)
{
if(n%2==0)
return 0;
for(int i=2;i<n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
void data(int n)
{ int a;
for(int i=2;i<(n/2)+1;i++)
{
a=n-i;
if(check(i)&&check(a))//i ,a 都為素?cái)?shù)則輸出
{
printf("%d %d %d\n",n,a,i);
break;
}
}
}
void main()
{
for(int i=4;i<=1234;i+=2)
data(i);
}
flagp = 1 ;
for(j=2;j<=(int)(sqrt(p));j++) /*判斷p是否為素?cái)?shù)*/
{
if ((p%j)==0)
{
flagp = 0 ;
break; /*不是素?cái)?shù),退出循環(huán)*/
}
}
想明白這一部分是什么意思?
初學(xué),請(qǐng)教一下各位前輩
我覺(jué)得某些地方應(yīng)該改一下啊
while(flagp*flagq==0);
上面這一句是不是有些問(wèn)題????/
在我看來(lái),覺(jué)得在驗(yàn)證是否為素?cái)?shù)時(shí)調(diào)用個(gè)函數(shù),也許會(huì)更加 清楚 明白 簡(jiǎn)潔!!
這代碼不錯(cuò),但是假如定義一個(gè)函數(shù),并在第一個(gè)“p”不是素?cái)?shù)時(shí)就退出可以執(zhí)行的更快吧。
一個(gè)偶數(shù)等于2個(gè)奇數(shù)相加,只要其中質(zhì)數(shù)一個(gè)減去一個(gè)偶數(shù),另一個(gè)奇數(shù)加上相同的偶數(shù);最后那個(gè)偶數(shù)一定等于奇數(shù)+奇數(shù)。