蓝桥杯每日一题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;
}
相关推荐
凯瑟琳.奥古斯特2 小时前
页面置换算法详解与对比
开发语言·分布式·职场和发展
2301_800895102 小时前
第十四届蓝桥杯国赛b组真题---备战国赛版h
算法·蓝桥杯·深度优先
BestHeaker2 小时前
CC Switch 全能使用教程
后端·职场和发展·跳槽·学习方法
折哥的程序人生 · 物流技术专研2 小时前
Java面试85题图解版 · 全系列总目录
java·开发语言·后端·面试·职场和发展
WL_Aurora4 小时前
备战蓝桥杯国赛【Day 12】
python·蓝桥杯
学习论之费曼学习法4 小时前
AI 入门 30 天挑战 - Day 29 - 面试准备指南
人工智能·面试·职场和发展
吃着火锅x唱着歌4 小时前
LeetCode 496.下一个更大元素I
算法·leetcode·职场和发展
凯瑟琳.奥古斯特4 小时前
死锁四大必要条件解析
java·开发语言·后端·职场和发展
500佰4 小时前
我唯一的一个变现产品,说说它的逻辑
网络·职场和发展·idea·个人开发·软件需求
洛水水14 小时前
【力扣100题】30.二叉树的直径
算法·leetcode·职场和发展