高斯日记
题目描述
大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210。后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?
高斯出生于1777年4月30日,在高斯发现的一个重要定理的日记上标注着5343,因此可算出那天是1791年12月15日。高斯获得博士学位的那天日记上标着8113,请你算出高斯获得博士学位的年月日。
提交答案的格式是:yyyy-mm-dd,例如:1980-03-21
分析
- datetime模块中有两个好用的东西,一个是date
(存储日期)
,一个是timedelta计算n天后的时间
- 当然这里也可以用Excel,但需要做映射,因为Excel的日期是从1900年1月1日开始计算的,一般加2000做映射就可以了。
运行代码
from datetime import date,timedelta
start_time = date(1777,4,30)
delta = timedelta(8112)
end_time = start_time+delta
print(end_time)
通过截图
马虎的算式
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是:36x495=?
他却给抄成了:396x45=?
但结果却很戏剧性,他的答案竟然是对的!!
因为 36∗495=396∗45=17820。
类似这样的巧合情况可能还有很多,比如:27∗594=297∗54。
假设a b c d e 代表 1 ~ 9 不同的 5 个数字(注意是各不相同的数字,且不含 0 )
能满足形如:ab∗cde=adb∗ce 这样的算式一共有多少种呢?
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
运行限制
最大运行时间:1s
最大运行内存: 128M
分析
- 这题一开始没注意看题目
(5个数不同,且没有0)
,浪费了时间还没做对,做题目一定要细心啊!!!! - 五重循环或者递归解决所有问题,为避免写错和调试,我们这里使用循环方法来做(直接且不会出错)
运行代码
# 由于a,b,c,d,e不相同,所以要注意去重的问题
res = 0
for a in range(1,10):
for b in range(1,10):
if a == b:
continue
for c in range(1,10):
if a == c or b == c:
continue
for d in range(1,10):
if a == d or b == d or c == d:
continue
for e in range(1,10):
if a == e or b == e or c == e or d == e:
continue
if (a*10+b)*(c*100+d*10+e) == (a*100+d*10+b)*(c*10+e):
res+=1
print(res)
通过截图
如有错误,敬请指正,欢迎交流,谢谢♪(・ω・)ノ