今日复习内容:想到什么复习什么
因为比赛用到的编辑器是IDLE,所以从现在开始,我就不用pycharm了。
例题1:
从1到2020的所有数字中,有多少个2?
这个题是一个填空题,我用的方法是先在编辑器上把这些数字打印出来,然后新建一个word,把结果复制上去,再使用查找替换功能就知道有多少个2了。
s = ''
for i in range(1,2021):s = s + str(i)
print(s)
然后就知道答案是624了。
例题2:
问题描述:
给出一个迷宫,问迷宫内的人有多少能走出来。迷宫如图所示,每个位置上有一个人,共100人,每个位置有指示牌,L表示向左走,R表示向右走,U表示向上走,D表示向下走。
这个题我是直接用眼睛数的,有31个。
例题3:
问题描述:
整个20世纪(1901年1月1日至2000年12月31日)一共有多少个星期一?
这道题我没写代码,我用的是Excel,步骤如下:
我在Excel 上输入开始和结束的日期,然后相减 ,得到有多少天;
然后我算出有几周
然后我设置单元格格式,判断起始时间是周几
刚刚不是有小数嘛,所以我算了一下可以转换成几天,事实证明,它到不了星期一。
所以答案就是5217了。
例题4:
问题描述:
整个20世纪(1901年1月1日到2000年12月31日)一共有多少个星期一?
这个问题我用代码算出来的。
参考答案:
import datetime
start = datetime.date(1901,1,1)
end = datetime.date(2000,12,31)
ans = 0
while start <= end:if start.weekday() == 0:ans += 1start += datetime.timedelta(days = 1)
print(ans)
运行结果:
例题5:
问题描述:
给出100个整数,问它们乘积的末尾有多少个0?
这个题我也是用代码(100个数字太多了,我随便编几个)
a = '130 1254 125 852 3680'
num = a.split( )
s = 1
for i in num:s *= int(i)
cnt = 0
while s % 10 == 0:s //= 10cnt += 1
print(cnt)
运行结果:
例题6:
问题描述:
小明对数位中含有2,0,1,9的数字很感兴趣,在1到40中这样的数共有28个,它们的和是574,它们的乘积是14362。请问,在1到2019中,所有这样的数的平方和是多少?
这个题我用的也是代码。
参考答案:
sum = 0
for i in range(1,2020):s = str(i)if '2'in s or '0' in s or '1'in s or '9' in s:sum += i*i
print(sum)
运行结果:
例题7:
问题描述:
一根高筋拉面,中间切一刀,可以得到两根面条;
如果先对折一次, 中间切一刀,则可以得到3根面条;
如果连续对折两次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少根面条呢?
这个题需要找一下规律。
参考答案:
a = 1
for i in range(10):a *= 2
print(a + 1)
OK,今天就写到这里,下一篇继续!
l