永发信息网

【C语言 程序84】 题目:一个偶数总能表示为两个素数之和。

答案:1  悬赏:40  手机版
解决时间 2021-11-10 09:19
【C语言 程序84】 题目:一个偶数总能表示为两个素数之和。
最佳答案
代码有严重缺陷。建议编码如下,并供对照查错:

#include
#include

//判一个给定的数值是否为素数,合数返回值为0, 素数返回值为1
int isPrime( int num )
{
int factor;
//以下代码行中也可以将循环终止条件改为小于等于 num 的平方根,循环次数虽有
//减少,但由于求平方根函数 sqrt 涉及到浮点运算,运算速度并不快,并需要链接
//数学库和包含 math.h 头文件,所以此处使用除以2后的商而不是平方根
for( factor=2; factor<=(num/2); factor++ )
{
if( num % factor == 0 ) return 0;
}
return 1;
}

int main( void )
{
int val, a, b;

do {
printf( "Please input an even number: " );
scanf( "%d", &val );
//注意要保证输入的值大于等于4且是偶数
} while( (val<4) || (val &1) );

//以下将输入的大于等于4的偶数先分解成两数之和的形式
for( a=2; a<=(val/2); a++ )
{
b = val - a;
//再确认和为输入偶数的两个数是否均为素数,是则输出
if( isPrime( a ) && isPrime( b ) )
{
printf( "%d = %d + %d\n", val, a, b );
}
}

return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
be buried in和be absorbed in还有lost in的
各位吧友认为魅蓝e2和魅蓝note6哪个更好点
重庆到上里古镇,求线路推荐。
男生一米六和一米八的大个打架怎样才能打赢?
几十年没回老家的说说
30W的LED路灯,高6米,地面直径2米内照度是多少
午饭有着落是什么意思
求sw的电影
山海经失传的是什么什么
人生为什么这么痛苦曾经太年轻留下的伤痛无法
如何给小朋友将诚信
爱普生1400打印机最近经常打印特别的慢还出现
上海到苏州望亭312国道路线图
大雁什么时候南飞??
做韩式定点压双眼皮已经三个多月了 眼皮有三
推荐资讯
be under th=be dolng
我有一枚光绪银元奉天一两直径39毫米,厚度3
抱歉,该公用事业单位暂时不可用,请稍候再试,
调味品用2字怎么形容
北京洪文源科技有限公司怎么样?
图纸上标某处上空是什么意思
有没有应聘过浪潮的实习生的,面试一般都问什
台山现在有没有小户型90平,三房一厅。
同一家银行不当心同时申请了两张信用卡,怎么
东西宽10米,南北长24米,想建10x13米的
钢炼的标志,一直蛇加十字架是什么意思
想开个洗车美容店,自己有门市,7.8十平,需
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?