• 筱玛的快乐_牛客网


    链接:https://ac.nowcoder.com/acm/contest/342/A
    来源:牛客网

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 524288K,其他语言1048576K
    64bit IO Format: %lld

    题目描述

    筱玛是个快乐的男孩子。
    寒假终于到了,筱玛决定请他的朋友们一起来快乐。
    对于筱玛来说,最快乐的事情莫过于翻看万年历上的日期了。
    一个日期是“快乐”的,当且仅当这一年的年份是一个质数,且将月份、日期写成"MM-DD"的形式后是对称的。如:"2003-01-10"是“快乐”的。
    筱玛有n个小伙伴,每个小伙伴都会提出一个问题,即:从"2000-01-01"这一天开始,第k个“快乐”的日期是什么。

    输入描述:

    第一行一个整数n。
    接下来n行,每行一个数字k,表示一次询问。

    输出描述:

    输出共n行,每行一个形如"YYYY-MM-DD"的日期表示答案。
    示例1

    输入

    复制
    3
    1
    23
    48

    输出

    复制
    2003-01-10
    2027-11-11
    2063-12-21

    备注:

    1≤n≤10
    6

    保证答案存在且答案年份为4位数。
     1 #include <bits/stdc++.h>
     2  
     3 using namespace std;
     4  
     5 #define Max 11000
     6 bool prime[Max]={0};
     7  
     8 void IsPrime(){
     9      for(int i=2;i*i<Max;i++){
    10         if(prime[i]==0){
    11             for(int j=i*i;j<Max;j+=i){
    12                 prime[j]=1;
    13             }              
    14         }
    15     }
    16 }
    17  
    18 void calprimeryear(vector<int> &vi1){
    19     for(int i=2001;i<=10000;i++){
    20         if(prime[i]==0){
    21             vi1.push_back(i);
    22         }
    23     }
    24 }
    25  
    26 int main()
    27 {
    28     char vs1[7][7]={"01-10","02-20","03-30","10-01","11-11","12-21"};
    29     vector<int> vi1;
    30     IsPrime();
    31     calprimeryear(vi1);
    32     int n,k;
    33     scanf("%d",&n);
    34     while(n--){
    35         scanf("%d",&k); k--;
    36         printf("%d-%s
    ",vi1[k/6],vs1[k%6]);
    37     }
    38     return 0;
    39 }
  • 相关阅读:
    Object.wait()与Object.notify()的用法
    浅析 Java Thread.join()
    线程状态
    cpu分析简介
    Linux统计某文件夹下文件、文件夹的个数
    Quarta介绍
    初识Quartz(三)
    restful api的10个最佳实践
    request.getSession(true)和request.getSession(false)的区别
    div+css画一个小猪佩奇
  • 原文地址:https://www.cnblogs.com/TWS-YIFEI/p/10258981.html
Copyright © 2020-2023  润新知