小甲鱼求阶梯的最终数

img


理解不了题目的意思,让我们求这个数,如果是用数学计算的话怎么计算呢

这个呢,你就假设台阶总数为i,然后每次两个台阶会剩下一个,表示i对2取余为1,其他同理,就是对3取余为2,对5取余为4.....以此类推
其实可以设置一个变量,用循环让它从小往大递增,每个循环增大1,而它对2 3 5 6 7取余为题目要求时,就是满足的数字

i = 1
while True:
    if i%2==1 and i%3==2 and i%5==4 and i%6==5 and i%7==0:
        break
    i+=1
print(i)

这个数是119
当然你还可以考虑对它进行优化,由于对7取余为0,表示i一定为7的倍数,所以可以令i每次都增大7,满足其他条件即可:

i = 7
while True:
    if i%2==1 and i%3==2 and i%5==4 and i%6==5:
        break
    i+=7
print(i)

img

古时算术题,不知道你有没有听说过取枣之类的题
若两两取之,余一;若三三取之,余二;若五五取之,余四;若六六取之,余五;若七七取之,取尽无余;
换成数学就是有个X

X%2 = 1 
X%3 = 2 
X%5 = 4 
X%6 = 5
X%7 = 0

简单来说, 你可以搞一个遍历, 7 的倍数, 如果符合

X%2 = 1 
X%3 = 2 
X%5 = 4 
X%6 = 5

这4个条件,就是答案了。