博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Goldbach`s Conjecture(素筛水题)题解
阅读量:6230 次
发布时间:2019-06-21

本文共 1351 字,大约阅读时间需要 4 分钟。

Goldbach`s Conjecture

 

Goldbach's conjecture is one of the oldest unsolved problems in number theory and in all of mathematics. It states:

Every even integer, greater than 2, can be expressed as the sum of two primes [1].

Now your task is to check whether this conjecture holds for integers up to 107.

Input

Input starts with an integer T (≤ 300), denoting the number of test cases.

Each case starts with a line containing an integer n (4 ≤ n ≤ 107, n is even).

Output

For each case, print the case number and the number of ways you can express n as sum of two primes. To be more specific, we want to find the number of (a, b) where

1)      Both a and b are prime

2)      a + b = n

3)      a ≤ b

Sample Input

2

6

4

Sample Output

Case 1: 1

Case 2: 1

思路:

水题一只,叫你求n=a+b且a,b都是素数这样的ab的对数。只要素筛一下,就能做了。最好先储存一下10^7以内的素数,数答案时只要到n/2就行了(因为a<=b),不知道不弄会不会超时,可以试一下。

代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x3f3f3f3f#define ll long longconst int N=10000005; //18const int MOD=1000; using namespace std;bool prime[N];int p[N/10],pn;void get_prime(){ pn=0; memset(prime,false,sizeof(prime)); prime[0]=prime[1]=true; for(long long i=2;i

转载于:https://www.cnblogs.com/KirinSB/p/9409119.html

你可能感兴趣的文章
selenium的那些事--运行报错
查看>>
hudson新建subversion项目的时候认证时弹出Authentication was not acknowledged
查看>>
[Reprint]C++函数前和函数后加const修饰符区别
查看>>
自定义博客园主题并添加各种小功能
查看>>
【转】控制不能离开finally子句主体
查看>>
ok 在博客园落户 安心做一个快乐的码农
查看>>
[Nhibernate]对象状态
查看>>
Python动态展现之一
查看>>
清空数据库中所有表数据的方法
查看>>
Playfair 加密
查看>>
串口编程(二) - 代码实现
查看>>
js数组
查看>>
Apache与tomcat
查看>>
2017《Java技术》 预留作业2 胡开辉
查看>>
Scrapy基础
查看>>
Java练习 SDUT-3349_答答租车系统(面向对象综合练习)
查看>>
团队开发冲刺第二阶段9
查看>>
Nginx配置文件中文详解
查看>>
Uva 11248 网络扩容
查看>>
高通Vuforia
查看>>