zoukankan      html  css  js  c++  java
  • 程序设计:找质数

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

    输入格式

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

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

    输出格式

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

    数据范围

    对于 30\%30% 的数据 1 le t le 10^31t103。

    对于 60\%60% 的数据 1 le t le 10^51t105。

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

    样例输入

    3
    4
    8
    20

    样例输出

    2 2
    3 5
    3 17

    有毒,数据量大 还是用scanf和printf 不停超时
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <string>
     5 #include <algorithm>
     6 #include <cmath>
     7 #include <queue> 
     8 using namespace std;
     9 int a[100005];
    10 int valid[1000005];
    11 void init()
    12 {
    13     for(int i=2;i<=1000000;i++){
    14         valid[i]=1;
    15     }
    16     for(int i=1;i*i<=1000000;i++){
    17         if(valid[i]){
    18             for(int j=i*i;j<=1000000;j+=i) valid[j]=0;
    19         } 
    20     }
    21 }
    22 int main()
    23 {
    24     int t,x;
    25     scanf("%d",&t);
    26     init();
    27     while(t--){
    28         scanf("%d",&x);
    29         for(int i=2;;i++){
    30             if(valid[i]&&valid[x-i]){
    31                 printf("%d %d
    ",i,x-i);
    32                 break;
    33             }
    34         }
    35     }
    36     return 0;
    37 }


  • 相关阅读:
    HTML简介
    web服务器的原理
    静态网页和动态网页的区别
    HTTP协议相关原理
    C/S,B/S的应用的区别
    git撤销commit但未push的文件
    表单提交不刷新页面
    httpclient请求中文乱码问题
    web项目,@return@see@param等注解Maven install报错,不能识别
    Hive 基本操作
  • 原文地址:https://www.cnblogs.com/shixinzei/p/10559972.html
Copyright © 2011-2022 走看看