蓝桥杯2021年第十二届省赛真题-时间显示 (思维+输出) C++

  • 题目
  • 思路
  • C++代码

蓝桥杯2021年第十二届省赛真题-时间显示 (思维+输出) C++_第1张图片


题目

题目链接

题目描述
小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。
给定一个用整数表示的时间,请将这个时间对应的时分秒输出。
输入
输入一行包含一个整数,表示时间。
输出
输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 0 到 23,MM 表示分,值为 0 到 59,SS 表示秒,值为 0 到 59。时、分、秒不足两位时补前导 0。
样例输入
46800999
样例输出
13:00:00

思路

即便是第一题,坑也是一堆,所以比赛还是得看清楚题!!!
十年OI一场空,不开LL见祖宗。

一些坑:
1秒=1000毫秒
前导0 %02d
然后输入的数 需要开long long不然会爆int

C++代码

#include 
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int INF = 1e9;
int main () {
    ios::sync_with_stdio(false);
 	cin.tie(0);cout.tie(0);
    LL n, hh, mm, ss, t;
    cin >> n;
    n /= 1000;//毫秒换算成秒
    n %= 86400;//86400s就是24小时
    hh = n / 3600;
    n %= 3600;
    mm = n / 60;
    ss = n % 60;
    printf("%02d:%02d:%02d\n", hh, mm, ss);
    return 0;
}

你可能感兴趣的:(蓝桥杯题解,蓝桥杯,算法,c++)