P8748 [蓝桥杯 2021 省 B] 时间显示
题目描述
思路
只让求时分秒,即使是从1970年开始记时,但一天的时分秒和他没有关系,别想太复杂
关键在于如何求时分秒
类似于求三位数的每一位
123 123/100(进制) = 1 123%100/10 = 2
代码
关键在于求出一天的时间
n %= (246060)
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5+10;
int a[N];
int s[N];
signed main()
{
int n;
cin >> n;
//毫秒不用显示
n /= 1000; //后三位是毫秒数
//再得到一天的时间
n %= (24*60*60);
//变成s了,如何找多少小时
int hh = n / 3600; //表示多少小时
int mm = n % 3600 / 60;
int ss = n % 60;
printf("%02lld:%02lld:%02lld", hh, mm ,ss);
return 0;
}
总结
不要想太复杂,要已知秒数求小时分钟秒,以及最关键的是求出这一天的时间