当前位置: 首页 > news >正文

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

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

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

题目

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

JS 代码实现

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

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,这是贝塔炸弹爆炸的准确日期。

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 掌握 Python列表:从基础到进阶技巧
  • FutureTask通常如何使用?
  • Ethercat设备数据 转IEC61850项目案例
  • django学生就业管理系统—计算机毕业设计源码24237
  • ★ 算法OJ题 ★ 力扣11 - 盛水最多的容器
  • qtlinux
  • MySQL中的COALESCE()函数用法,返回第一个非 NULL 的参数
  • 什么是数字人
  • How to install mysql 5.7 with podman in Ubuntu 24.04
  • CMake基本语法大全
  • c++同人小游戏之斗罗大陆4
  • 书生浦语实训营-InternVL 多模态模型部署微调实践
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • Unity(2022.3.41LTS) - 脚本
  • react + ts + material-ui V5版本的table封装
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【刷算法】从上往下打印二叉树
  • Java 内存分配及垃圾回收机制初探
  • JavaScript设计模式与开发实践系列之策略模式
  • Rancher如何对接Ceph-RBD块存储
  • select2 取值 遍历 设置默认值
  • uva 10370 Above Average
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 机器学习中为什么要做归一化normalization
  • 小程序开发之路(一)
  • ​​​【收录 Hello 算法】9.4 小结
  • ​批处理文件中的errorlevel用法
  • ​如何使用QGIS制作三维建筑
  • ​如何在iOS手机上查看应用日志
  • #Linux(make工具和makefile文件以及makefile语法)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (4)事件处理——(7)简单事件(Simple events)
  • (7)摄像机和云台
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (十五)使用Nexus创建Maven私服
  • (转)iOS字体
  • (转)Windows2003安全设置/维护
  • .htaccess配置重写url引擎
  • .NET 给NuGet包添加Readme
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .Net 垃圾回收机制原理(二)
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .net下简单快捷的数值高低位切换
  • .project文件
  • [AIGC 大数据基础]hive浅谈
  • [Android]使用Git将项目提交到GitHub
  • [BIZ] - 1.金融交易系统特点
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [FC][常见Mapper IRQ研究]
  • [Java] 图说 注解
  • [Kimi笔记]C# 中,public、private 和 internal 访问修饰符