蓝桥杯每日一题2023.10.2

时间显示 - 蓝桥云课 (lanqiao.cn)

题目描述

题目分析

输入为毫秒,故我们可以先将毫秒转化为秒,由于只需要输出时分,我们只需要将天数去除即可,可以在这里多训练一次天数判断

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int m[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
bool is_ren(int n)
{
	if((n % 100 != 0 && n % 4 == 0) || n % 400 == 0)return true;
	return false;
}
int main()
{
	long long x; 
	cin >> x;
	x /= 1000;
	//一天有24 * 60 * 60 = 86400 秒 
	bool flag = 0;
	for(int i = 1970; ; i ++)
	{
		if(is_ren(i))m[2] = 29;
		else m[2] = 28;
		for(int j = 1; j <= 12; j ++)
		{
			for(int k = 1; k <= m[j]; k ++)
			{
				if(x >= 86400)
				{
					k ++;
					x -= 86400;	
				} 
				else
				{
					flag = 1;
					break;
				}
			}
			if(flag)break;
		}
		if(flag)break;
	}
	int a = x / 3600;
	int b = x % 3600 / 60;
	int c = x % 60;
	printf("%02d:%02d:%02d", a, b, c);
	return 0;
}

但显然没必要,可以这样

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
	long long x; 
	cin >> x;
	x /= 1000;
	//一天有24 * 60 * 60 = 86400 秒 
	while(x >= 86400)x -= 86400;
	int a = x / 3600;
	int b = x % 3600 / 60;
	int c = x % 60;
	printf("%02d:%02d:%02d", a, b, c);
	return 0;
}
相关推荐
呆呆的小鳄鱼25 分钟前
leetcode:322. 零钱兑换[完全背包]
算法·leetcode·职场和发展
呆呆的小鳄鱼2 小时前
leetcode:518. 零钱兑换 II[完全背包]
算法·leetcode·职场和发展
小莫分享3 小时前
2023年最新总结,阿里,腾讯,百度,美团,头条等技术面试题目,以及答案,专家出题人分析汇总。
java·后端·面试·职场和发展
byte轻骑兵4 小时前
BLE低功耗设计:从广播模式到连接参数优化的全链路分析与真题解析
面试·职场和发展
緈福的街口1 天前
【leetcode】2236. 判断根节点是否等于子节点之和
算法·leetcode·职场和发展
程序员三藏1 天前
如何使用Pytest进行测试?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
Z字小熊饼干爱吃保安1 天前
面试技术问题总结一
数据库·面试·职场和发展
运维开发王义杰1 天前
打破技术债困境:从“保持现状”到成为变革的推动者
运维·职场和发展
Coding小公仔1 天前
LeetCode 8. 字符串转换整数 (atoi)
算法·leetcode·职场和发展
GEEK零零七1 天前
Leetcode 393. UTF-8 编码验证
算法·leetcode·职场和发展·二进制运算