酷暑一夏1

不忘初心,方得始终


hihoCoder1493 [Offer收割]编程练习赛12 A题题解

题目

哥德巴赫猜想认为“每一个大于2的偶数,都能表示成两个质数之和”。
给定一个大于2的偶数N,你能找到两个质数P和Q满足P<=Q并且P+Q=N吗?

题解

筛质数,然后在$[2,n)$中找结果即可。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<cstdio>
#include<cstring>
const int MAXN=1000000+5;
bool IsPrime[MAXN];
void List()
{
memset(IsPrime,1,sizeof(IsPrime));
for(int i=2;i<=1000;i++)
if(IsPrime[i])
{
for(int j=i*2;j<=1000000;j+=i) IsPrime[j]=0;
}
}
int main()
{
int n;
List();
scanf("%d",&n);
for(int j=2;j<n;j++)
if(IsPrime[j] && IsPrime[n-j])
{
printf("%d %d",j,n-j);
break;
}
return 0;
}
最近的文章

Vijos1181 CoVH之密码破解 题解

题目话说一天,Dragon.Dai大菜和整个OIBH QQ群的超级大牛同心协力,终于进入了Vijos的系统,并设置了重重机关……等到V某带着柯南来到服务器准备检查Log(即是日志文件)时,才发现Log文件被加了密,密码是一个数列中的指定一位……(数列见下)经过V某及柯南的思考,总算破解了密码,看到了Log。数列:12345678910111213………..输入是一个数$n$,表示求数列的第$n$位1&lt;=$n$&lt;=10^8 题解[例子中所有提到的位数已加粗或斜体加粗,请对应后面提到的位数的字形] …

于  CoVH系列, Vijos 继续阅读
更早的文章

玲珑OJ1111 “玲珑杯”ACM比赛 Round13 Problem A 题解

题目你有$N$个苹果以及$N$个梨子, 第$i$个苹果的美味度是$A_i$, 第$j$个梨子的美味度$B_j$,在接下来的$N$天里面, 每天你要吃掉一个苹果和一个梨子, 每天的愉悦度是吃掉的苹果和梨子的美味度的乘积, 显然吃掉的水果不能再吃。你想知道,最好情况下, 接下来这$N$天的愉悦度的最大值 …

于  比赛, 玲珑ACM, 玲珑杯 继续阅读