我是靠谱客的博主 害羞红牛,这篇文章主要介绍计蒜客 A2238 找质数 AC代码努力努力再努力,现在分享给大家,希望可以做个参考。

题目

一天蒜头君猜想,是不是所有的偶数(除了 22),都可以用两个质数相加得到呢?于是聪明的蒜头君就找你来验证了。

输入格式

第一行输入一个整数 tt 表示测试组数。

接下来 tt 行,每行一个整数 nn。

输出格式

输出两个整数,因为答案可能有多个,所有要求输出的这两个整数是所有答案中字典序最小的。

数据范围

对于 30%30% 的数据 1 le t le 10^31≤t≤103。

对于 60%60% 的数据 1 le t le 10^51≤t≤105。

对于 100%100% 的数据 1 le t le 10^6, 4 le n le 10^61≤t≤106,4≤n≤106,nn 为偶数。

Sample 1

InputcopyOutputcopy
复制代码
1
2
3
4
3 4 8 20
复制代码
1
2
3
2 2 3 5 3 17

 解析:

        这道题我用到的是筛法找质数,然后在[l,r]区间内循环然后判断两个数是否都为质数

 AC代码

复制代码
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<stdio.h> #include<iostream> using namespace std; int a[1000005]; //筛法找素数 void prime() { int i,j; for(i=0;i<=1000000;i++) a[i]=1; a[0]=a[1]=0; for(i=2;i<=1000;i++) { if(a[i]==1) { for(j=i*2;j<=1000000;j=j+i) { a[j]=0; } } } } int main() { prime(); int t,n; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=2;i<=n/2;i++) { if(a[i]==1&&a[n-i]==1) { printf("%d %dn",i,n-i); break; } } } return 0; }

努力努力再努力

最后

以上就是害羞红牛最近收集整理的关于计蒜客 A2238 找质数 AC代码努力努力再努力的全部内容,更多相关计蒜客内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(88)

评论列表共有 0 条评论

立即
投稿
返回
顶部