| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1098 人关注过本帖
标题:求助,小女子请各位帮个忙啦,,谢谢
取消只看楼主 加入收藏
聂文伟
Rank: 1
来 自:湖南娄底
等 级:新手上路
帖 子:15
专家分:2
注 册:2010-9-4
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
求助,小女子请各位帮个忙啦,,谢谢
#include <stdio.h>
int isprime(int);
void even(int);
main()
{int a;
printf("enter a even number:");scanf("%d",&a);
if(a%2==0)
even(a);
else printf("the %d is not even number\n");
}
void even(int x)
{int i;
for(i=0;i<=x/2;i++)
if(isprime(i))                /*  判断其中一个是素数 */
if(isprime(x-i))             /*  判断另一个是素数 */
{printf("%d=%d+%d\n",x,i,x-i);return;}
}
int isprime(int a)
{int t;
for(t=2;t<=a/2;t++)
if(a%t==0)
return 0;
return 1;
}


题目是验证任意偶数为两个素数之和,并输出这两个素数。
这个程序是我自己编写出来的,但是结果总是1+(x-i)=x,
思考很久就是发现不了问题。请各位高手帮下忙,给一个详细的答案。
搜索更多相关主题的帖子: 小女子 
2010-09-05 22:11
聂文伟
Rank: 1
来 自:湖南娄底
等 级:新手上路
帖 子:15
专家分:2
注 册:2010-9-4
收藏
得分:0 
从0开始就是错误的啦,因为最小的素数是啊,0和1不是素数啊,,,,,
2010-09-06 12:30
聂文伟
Rank: 1
来 自:湖南娄底
等 级:新手上路
帖 子:15
专家分:2
注 册:2010-9-4
收藏
得分:0 
呵呵,谢谢大家的指导啊
2010-09-07 10:53
聂文伟
Rank: 1
来 自:湖南娄底
等 级:新手上路
帖 子:15
专家分:2
注 册:2010-9-4
收藏
得分:0 
以下是引用御坂美琴在2010-9-5 22:35:01的发言:

int isprime(int a)
{int t;
for(t=2;t<=a/2;t++)
if(a%t==0)
return 0;
return 1;
}
改成
int isprime(int a)
{int t;
if (a<2) return 0;
for(t=2;t<=a/2;t++)
if(a%t==0)
return 0;
return 1;
}
你这个该法也是错误的,,结果也有问题,,,
2010-09-07 10:59
聂文伟
Rank: 1
来 自:湖南娄底
等 级:新手上路
帖 子:15
专家分:2
注 册:2010-9-4
收藏
得分:0 
回复 8楼 lxmuyu
这个结果是正确的,,谢谢你啊
2010-09-07 11:05
快速回复:求助,小女子请各位帮个忙啦,,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015818 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved