考研算法 2022.3.1

92 阅读1分钟

考研算法

题目

题目链接

题目要求

简单的日期转换

代码

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int y,d;
    while(scanf("%d %d\n",&y,&d)!=EOF)
    {
        if ((y%100==0 && y%400==0) || (y%100!=0 && y%4==0))
        {
            int s[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
            int i=1;
            for(i;i<=12;i++)
            {
                if (d-s[i]<=0)
                {
                    break;
                }
                else
                {
                    d=d-s[i];
                }
            }
            printf("%04d-%02d-%02d\n",y,i,d);
        }
        else
        {
            int s[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
            int i=1;
            for(i;i<=12;i++)
            {
                if (d-s[i]<=0)
                {
                    break;
                }
                else
                {
                    d=d-s[i];
                }
            }
            printf("%04d-%02d-%02d\n",y,i,d);
        }
    }
    return 0;
}
import sys 
for line in sys.stdin:
    y,d = map(int,line.split())
    if (y%400==0 and y%100==0) or (y%100!=0 and y%4==0):
        i=1;
        s=[0,31,29,31,30,31,30,31,31,30,31,30,31]
        for _ in range(12):
            if d-s[i]<=0:
                break
            else:
                d=d-s[i]
                i=i+1
        print("{:0>4d}-{:0>2d}-{:0>2d}".format(y,i,d))
    else:
        i=1;
        s=[0,31,28,31,30,31,30,31,31,30,31,30,31]
        for _ in range(12):
            if d-s[i]<=0:
                break
            else:
                d=d-s[i]
                i=i+1
        print("{:0>4d}-{:0>2d}-{:0>2d}".format(y,i,d))

知识点

无输入时停止

C++:while(scanf("%d %d\n",&y,&d)!=EOF)
python:

import sys 
for line in sys.stdin:
    y,d = map(int,line.split())

闰年判断

可被400整除且能被100整除

不能被100整除但可以被4整除

格式化输出不足补零

C++:printf("%04d-%02d-%02d\n",y,i,d);
python:print("{:0>4d}-{:0>2d}-{:0>2d}".format(y,i,d))
python format用法详解_陈新明博客-CSDN博客_python语言format用法
Python format 格式化函数 | 菜鸟教程 (runoob.com)