01 您所在的位置:网站首页 log33等于多少 01

01

#01| 来源: 网络整理| 查看: 265

题目 Description 题目描述

哥德巴赫猜想:对于任一个大于或等于4的偶数n,至少存在一对素数p1和p2,使得n=p1+p2。 这个猜想目前既没有被证明,也没有被否定。没有人确定这个猜想是否成立。但是,如果对于给定的一个偶数,存在这样一对素数的话,人们是可以找到的。我们的要求是编写一个程序,对于给定的一个偶数,计算出存在多少对素数满足这个猜想。 在输入中给出一系列偶数。对于每一个数,程序输出存在的素数对数。注意:我们关心的是真正不同的数字对数,所以不能将(p1,p2)和(p2,p1)作为不同的两对数。

Input 输入

每行给出一个整数。假设每个整数为偶数,并且大于或等于4,小于等于2的15次方。输入文件的结尾用0表示。

Output 输出

每个输出行包含一个整数。不要在输出中出现其他字符。

Sample 样例 Input 输入样例

6 10 12 0

Output 输出样例

1 2 1 Time Limit 4000 ms(时间限制) Mem. Limit 10000 KiB(空间限制)

程序 代码一 #include /* * 判断质数(素数) * 返回1,表示x为素数 */ int judge_zhiShu(int x) { int flag = 1; if (x == 2)//x等于2,2是素数,函数直接返回 return flag; for (int i = 2; i flag = 0;//x不是素数,flag赋值为0 break; } } return flag; } int main() { int N; int count = 0;//记录素数对数 while (1) { scanf("%d", &N); if (N == 0) break; /* *上面的if里面使用的是break; *最开始我使用的是return -1;来结束程序 *但不能AC,也许别的OnlineJudge可以成功 *经过尝试使用return 0;也可以,应该是oj里做了限制 */ count = 0; for (int i = 2; i int flag = 1; if (x == 2) return flag; for (int i = 2; i flag = 0; break; } } return flag; } int main() { int N; int count = 0; while (1) { scanf("%d", &N); if (N == 0) break; count = 0; for (int i = 2; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有