【趣味学算法】07_爱因斯坦的数学题

注: 本系列仅为个人学习笔记,学习内容为《算法小讲堂》(视频传送门),通俗易懂适合编程入门小白,需要具备python语言基础,本人小白,如内容有误感谢您的批评指正

有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶,则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问在1到n内,有多少个数能满足?要求可多次测试,输入0结束测试

根据题意,用变量 x 表示阶梯数,则阶梯数 x 应该同时满足以下条件:
若每步跨 2 阶,则最后剩 1 阶,即 x%2=1
若每步跨 3 阶,则最后剩 2 阶,即 x%3=2
若每步跨 5 阶,则最后剩 4 阶,即 x%5=4
若每步跨 6 阶,则最后剩 5 阶,即 x%6=5
若每步跨 7 阶,最后才正好一阶不剩,即 x%7=0

def computing_ladder(n):
    sum = 0
    for i in range(7,n+1):
        if (i%2==1)and(i%3==2)and(i%5==4)and(i%6==5)and(i%7==0):
            sum += 1
            print('在1~{}之间的阶梯数为:{}'.format(n,i))
    print('在1~{}之间的阶梯数有{}个'.format(n,sum))
    
if __name__ == '__main__':
    while True:
        n = int(input('请输入n:'))
        if n == 0: #以0结束测试
            break
        else:
            computing_ladder(n)
请输入n:99
在1~99之间的阶梯数有0个

请输入n:999
在1~999之间的阶梯数为:119
在1~999之间的阶梯数为:329
在1~999之间的阶梯数为:539
在1~999之间的阶梯数为:749
在1~999之间的阶梯数为:959
在1~999之间的阶梯数有5个

请输入n:567
在1~567之间的阶梯数为:119
在1~567之间的阶梯数为:329
在1~567之间的阶梯数为:539
在1~567之间的阶梯数有3个

请输入n:0
已退出

相关推荐

  1. 趣味算法07_爱因斯坦数学

    2024-03-15 13:16:01       40 阅读
  2. 趣味算法00_百鸡百钱

    2024-03-15 13:16:01       32 阅读
  3. 趣味算法】13_素数

    2024-03-15 13:16:01       75 阅读
  4. 趣味算法】11_黑洞数

    2024-03-15 13:16:01       36 阅读
  5. 趣味算法】16_递归练习

    2024-03-15 13:16:01       32 阅读
  6. 【NC16610】Hankson趣味

    2024-03-15 13:16:01       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-15 13:16:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-15 13:16:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-15 13:16:01       87 阅读
  4. Python语言-面向对象

    2024-03-15 13:16:01       96 阅读

热门阅读

  1. C++ 纯虚函数定义语法,及作用

    2024-03-15 13:16:01       44 阅读
  2. 【设计模式】常见设计模式

    2024-03-15 13:16:01       35 阅读
  3. 【笔记】学习Android.mk(三)

    2024-03-15 13:16:01       39 阅读
  4. js手写实现 Promise.all

    2024-03-15 13:16:01       47 阅读
  5. Babel 7.24.0 出来了!

    2024-03-15 13:16:01       37 阅读