今日算法:蓝桥杯基础题之“星系炸弹”

server/2024/11/13 9:07:25/

你好同学,我是沐爸,欢迎点赞、收藏、评论和关注。

今日算法第4题,如何布置星系炸弹,一起看看吧。

题目

在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2024年8月30日放置,定时为1000天,请你计算它爆炸的准确日期。

JS 代码实现

你是否觉得需要算一年多少天?是否是闰年?其实不用,最简单的思路是,记录放置日期的毫秒数,1000天的毫秒数,就能得到爆炸日期的毫秒数,把毫秒转为日期,就能得出爆炸的准确日期了。

javascript">function addDays(date, days) {  // 将天数转换为毫秒  const millisecondsPerDay = 1000 * 60 * 60 * 24;  // 计算总毫秒数  const totalMilliseconds = days * millisecondsPerDay;  // 创建一个新的Date对象(以避免修改原始日期),并添加毫秒数  const result = new Date(date.getTime() + totalMilliseconds);  return result;  
}  // 定义起始日期  
const startDate = new Date(2024, 7, 30); // 注意:月份是从0开始的,所以7代表8月  // 计算爆炸日期  
const explosionDate = addDays(startDate, 1000);  // 格式化日期输出  
const year = explosionDate.getFullYear();  
const month = String(explosionDate.getMonth() + 1).padStart(2, '0'); // 月份加1并格式化为两位数  
const day = String(explosionDate.getDate()).padStart(2, '0'); // 格式化为两位数  console.log(`${year}-${month}-${day}`); // 输出格式为 YYYY-MM-DD

这段代码首先定义了一个addDays函数,它接受一个Date对象和一个天数作为参数,并返回一个新的Date对象,该对象表示原始日期加上指定天数后的日期。然后,它使用这个函数来计算从2024年8月30日开始加上1000天后的日期,并格式化输出为YYYY-MM-DD格式。

运行这段代码,你应该会得到输出2027-05-27,这是贝塔炸弹爆炸的准确日期。

好了,分享结束,谢谢点赞,下期再见。


http://www.ppmy.cn/server/111719.html

相关文章

Python中DrissionPage的详细解析与实战

一、DrissionPage简介 1.1 什么是DrissionPage DrissionPage 是一个集成了 Selenium 和 requests 的 Python 库,具有以下特点: 简化操作:提供了统一的 API,让用户可以在浏览器模式(Selenium)和无浏览器模…

历经三年磨砺,快手交换机的自研创新之路

导读: 快手自研交换机是2021年初开始立项,坚持软件自主可控 / 硬件生态开放的整体战略,历经三年磨砺,发布扛鼎之作『快手自研51.2T交换机』,是首家引入多元化交换芯片并在数据中心网络中规模化部署!更是首…

【深入剖析C++的inline函数:性能优化与常见误区】

一、什么是inline函数? inline函数是一种特殊的函数,它建议编译器在调用该函数时,不是进行通常的函数调用,而是将函数的代码直接插入到调用点。这种方法可以消除函数调用的开销,尤其在小型函数和频繁调用的情况下能显…

第十七章 rust异步库tokio入门

注意 本系列文章已升级、转移至我的自建站点中,本章原文为:rust异步库tokio入门 目录 注意一、前言二、基本理解与使用三、状态共享四、注意事项一、前言 异步是一个非常强大特性,它有相当多的实现模型,其中比较知名的“协程”,go语言的并发编程就是借助的“协程”这一概…

比特币网络和支付

1. 比特币网络 比特币网络是一个去中心化的点对点网络,节点之间可以直接进行交易。网络上有不同类型的节点。 1.1 比特币网络的节点 比特币网络的节点有两种主要类型:全节点也称为完整节点和简单支付验证(Simple Payment Verification,SPV)节…

sizeof 关键字实现原理

sizeof 是 C 语言中的一个关键字,它用于计算某个类型或变量所占用的内存大小。sizeof 关键字在编译时由编译器处理,它的实现与具体的编译器和平台有关。 1.sizeof工作原理 在高级层面上,sizeof 的工作原理如下: 编译时计算&…

STM32-PWM驱动呼吸灯——HAL库

(根据B站up主keysking的STM32教程视频的笔记) 【STM32】动画讲解轻松学会STM32的PWM_哔哩哔哩_bilibili 什么是PWM? PWM,全称为脉冲宽度调制(Pulse Width Modulation),是一种调制技术&#xf…

HarmonyOS开发实战( Beta5版)应用性能工具CPU Profiler的使用规范

简介 本文档介绍应用性能分析工具CPU Profiler的使用方法,该工具为开发者提供性能采样分析手段,可在不插桩情况下获取调用栈上各层函数的执行时间,并展示在时间轴上。 开发者可通过该工具查看TS/JS代码及NAPI代码执行过程中的时序及耗时情况…