今天为大家带来一道周期问题。引用自公众号 匠心数学之小升初
题目:我国农历用鼠、牛、虎、兔、龙、蛇、马、
羊、猴、鸡、狗、猪这12种动物按顺序轮
流代表每年。例如,第一年是鼠年,第二
年就是牛年,第三年就是虎年。已知1986
年是虎年,那么2019年是什么年?
中小学学生可在家长的陪读下一起学习。
解题思路:
第一步,找到题中的循环体,很明显就是12种动物。确定本题循环的长度是12。
第二步,我们可以把“鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪”看做一个循环体。
第三步,计算2019 年是什么年。一定要注意,我们找到的循环体第三个虎年对应的是1986 年,
第四个兔年对应的是1987 年,以此类推至 2019 年。
解答:
从1986年到2019年经历了2019-1986=33(年)。33÷12=2……9
从循环体中第四个兔年开始数 9 个属相,也就是循环体中的第十二个属相,很明显2019年就是猪年。
答:2019年是猪年。
根据奥数解题思路,Python 编码如下:
# -*- coding:utf-8 -*-
years = ["鼠", "牛", "虎", "兔", "龙", "蛇", "马",
"羊", "猴", "鸡", "狗", "猪"]
year_1986 = "虎"
index_1986 = years.index(year_1986)
print("1986 年在列表中的下标是 %s !" % index_1986)
remainder = (2019-1986) % len(years)
print("(2019-1986)/12 的余数是 %s。" % remainder)
year_2019 = years[index_1986 + remainder]
print("2019年是 %s 年" % year_2019)
运行结果如下:
1986 年在列表中的下标是 2 !
(2019-1986)/12 的余数是 9。
2019年是 猪 年
练习题
在一根绳子上依次串4颗红珠、2颗白珠、
1颗黑珠,并按此顺序依次重复。如果
从头开始一共串了75颗珠子,那么这 75
颗珠子中红珠比白珠多多少颗?