美文网首页会Python就够了
Python 和 奥数 — 周期问题

Python 和 奥数 — 周期问题

作者: 藕丝空间 | 来源:发表于2020-03-13 17:57 被阅读0次

    今天为大家带来一道周期问题。引用自公众号 匠心数学之小升初

    题目:我国农历用鼠、牛、虎、兔、龙、蛇、马、
         羊、猴、鸡、狗、猪这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
    颗珠子中红珠比白珠多多少颗?
    

    相关文章

      网友评论

        本文标题:Python 和 奥数 — 周期问题

        本文链接:https://www.haomeiwen.com/subject/hqrsshtx.html