| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1071 人关注过本帖
标题:[求助]哥德巴赫猜想 问题的求助~
只看楼主 加入收藏
heliquan_1
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-7-28
收藏
 问题点数:0 回复次数:9 
[求助]哥德巴赫猜想 问题的求助~
An integer is given in each input line. You may assume that each integer is even, and is greater than or equal to 4 and less than 2^15. The end of the input is indicated by a number 0. Each output line should contain an integer number. No other characters should appear in the output. Time limit: 1 Seconds 那个高手指点一下,应该如何才能做好! 小弟在此谢谢了~
搜索更多相关主题的帖子: 哥德巴赫猜想 integer output input number 
2005-07-28 10:08
rl
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2005-4-2
收藏
得分:0 
谁给翻译一下先~
2005-07-28 14:30
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
以下是引用heliquan_1在2005-7-28 10:08:44的发言: An integer is given in each input line. You may assume that each integer is even, and is greater than or equal to 4 and less than 2^15. The end of the input is indicated by a number 0. Each output line should contain an integer number. No other characters should appear in the output. Time limit: 1 Seconds
在每一行给一个整数,你要判断出这个整数是大于等于4而小于2的15次方的偶数,最后输入0时为结束。 每一行输出必须包含一个整数,不可以有字符。 限定时间:1秒 PS:这哪儿是那个猜想啊?
2005-07-28 15:40
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
哥德巴赫猜想 不是指要确定出任何素数都是另外两个素数的平方和吗?
2005-07-28 15:41
heliquan_1
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-7-28
收藏
得分:0 
那这个算是什么呀?
哪个高手帮我做做看
我做不来哦
2005-07-29 09:47
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
以下是引用live41在2005-7-28 15:40:09的发言: 在每一行给一个整数,你要判断出这个整数是大于等于4而小于2的15次方的偶数,最后输入0时为结束。 每一行输出必须包含一个整数,不可以有字符。 限定时间:1秒 PS:这哪儿是那个猜想啊?
那是因为你的翻译有点问题- -. 不是要你判断出这个数字怎么样,而是说你可以认为这个数字是符合这个要求的。(也就是输入数据范围在4到2^15间的偶数)

Have you visit acm.tongji. lately?
2005-07-29 12:49
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
题目未给全,没说输出的数字是什么数字。

Have you visit acm.tongji. lately?
2005-07-29 12:51
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
poj一个类似的题目: http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=2262 zoj的这个题目应该就是楼主问的问题 http://acm.zju.edu.cn/show_problem.php?pid=1657

Have you visit acm.tongji. lately?
2005-07-29 12:53
heliquan_1
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-7-28
收藏
得分:0 
kaikai
你能解决这个问题吗?
2005-07-29 14:34
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 

#include <stdio.h> #include <stdlib.h> #include <math.h> #define MAX_N 3512 int *plist; int np=4;

int isPrime(int n) { int i; int d=(int)sqrt(n)+1; for(i=0;plist[i]<d;i++) { if(i>=np)printf("error"); if(n%plist[i]==0)return 0; } return 1; } int isPrimeInList(int n) { int lo = 0, hi = np - 1; int t; while(lo < hi) { t = lo + hi >> 1; if (plist[t] == n) return true; if (plist[t] > n) hi = t - 1; else lo = t + 1; } return lo == hi && plist[lo] == n; }

int main() { int i,m,n; np=4; plist=new int[MAX_N]; plist[0] = 2; plist[1] = 3; plist[2] = 5; plist[3] = 7; for(i=9;i<32768;i+=2) { if(isPrime(i)) plist[np++] = i; }

while(scanf("%d",&n)==1 && n>0) { m = 0; if (n % 2) { if (isPrimeInList(n-2)) m = 1; } else { for (i=0;i<np;i++) { if (plist[i] > (n>>1)) break; if (isPrimeInList(n - plist[i])) m++; } } printf("%d\n",m); } delete [] plist; return 0; }


Have you visit acm.tongji. lately?
2005-07-29 17:49
快速回复:[求助]哥德巴赫猜想 问题的求助~
数据加载中...
 
   



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

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