版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31736627/article/details/62887815
随便打开一个目录, 右键-新建文本文件
重命名 xxx.vbs (需要显示后缀名)
vbs是VB Script缩写...
因为VB中有2个很简单的时间函数datediff(时间间隔)和dateadd(时间相加)
所以日期的填空题能1分钟内做完
=========================我叫分割线=========================
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
DateAdd(interval, number, date)
interval 参数
yyyy 年
q 季度
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 小时
n 分钟
s 秒
=========================我叫分割线=========================
2015年4月11日省赛C/C++的B组第2题
星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
=========================我叫分割线=========================
msgbox dateadd("d",1000,"2014-11-9")
'vb中注释是单引号...msgbox意思是MessageBox 就是弹出对话框
'vb中不需要分号结尾, 函数调用 直接可以用 [func 参数]
'更规范 稍微符合C语言的...Call Msgbox("xxxxx")
=========================我叫分割线=========================
就这么一行, 然后保存, 运行这个vbs
=========================我叫分割线=========================
答案出来了...这个小技巧分享给大家啦. 不用自己看日历数(汗||)或者写代码了~
因为3次碰到日期相关的了...所以这个方法还是感觉挺实用的~
能争取到大概20分钟的时间(新技能get√)
重命名 xxx.vbs (需要显示后缀名)
vbs是VB Script缩写...
因为VB中有2个很简单的时间函数datediff(时间间隔)和dateadd(时间相加)
所以日期的填空题能1分钟内做完
=========================我叫分割线=========================
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
DateAdd(interval, number, date)
interval 参数
yyyy 年
q 季度
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 小时
n 分钟
s 秒
=========================我叫分割线=========================
2015年4月11日省赛C/C++的B组第2题
星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
=========================我叫分割线=========================
msgbox dateadd("d",1000,"2014-11-9")
'vb中注释是单引号...msgbox意思是MessageBox 就是弹出对话框
'vb中不需要分号结尾, 函数调用 直接可以用 [func 参数]
'更规范 稍微符合C语言的...Call Msgbox("xxxxx")
=========================我叫分割线=========================
就这么一行, 然后保存, 运行这个vbs
=========================我叫分割线=========================
答案出来了...这个小技巧分享给大家啦. 不用自己看日历数(汗||)或者写代码了~
因为3次碰到日期相关的了...所以这个方法还是感觉挺实用的~
能争取到大概20分钟的时间(新技能get√)
例二:
题目描述:
大数学家高斯有个好习惯:无论如何都要记日记。
他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210
后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?
高斯出生于:1777年4月30日。
在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。
高斯获得博士学位的那天日记上标着:8113
请你算出高斯获得博士学位的年月日。
提交格式:
yyyy-mm-dd, 例如:1980-03-21
算法思路:
首先,我们计算出高斯出生的那一天到年末的时间t1,我们用总的天数t减去t1,这样就可以避免t1对我们以后的计算照成的麻烦;
然后,我们对接下来的每年相加,直到得到第一个天数大于t的年份,则该年份就是我们要求出的年份,按照同样的方法求出月份;
天数就是t减去以上的时间剩下的结果,还要注意输出结果中当天数和月份为个位数的时候,不是直接输出,而是前面带有0,因此应对输出进行控制。
注意:一个坑的问题就是自己没有想到出生的那一天已经是第一天了
'这题因为是第多少天 所以需要-1
'vb中分割字符串用& vbCrLf相当于C/C++中的\n或者endl
msgbox "5343:" & dateadd("d",5343-1,"1777-4-30") & vbCrLf & "8113:" & dateadd("d",8113-1,"1777-4-30")