首页 > 编程 > Python > 正文

用Python解决了个数学问题

2019-11-10 18:46:48
字体:
来源:转载
供稿:网友

群里有人问 一筐鸡蛋: 1个1个拿,正好拿完。 2个2个拿,还剩1个。 3个3个拿,正好拿完。 4个4个拿,还剩1个。 5个5个拿,还差1个。 6个6个拿,还剩3个。 7个7个拿,正好拿完。 8个8个拿,还剩1个。 9个9个拿,正好拿完。 问筐里最少有多少鸡蛋?

1说明是奇数,2、4、5、8得出应该是40i+1,3、6、7、9得出应该是63j(j是奇数)。想想刚好在学Python,那就写个代码试试吧。

for i in range(3, 100):if i%2 == 0: continue#PRint ij=63*iif (j-1)%40==0: print i print 'got it' print j for m in range(1,10): print '=',j/m, '*',m,'+',j%m break

后来发现还可以缩小范围,要满足40i+1和63j,3乘7才是个位是1的,所以j只能是7,17,27这样的。 为了证实一下,把代码最后的break去掉,100以内,j还可以是47,结果2961;87,结果5481。 然后我把for的range换成到200,发现j可以是7,47,87,127,167。然后发现,是因为算出7以后,两个式子合并为63*7+63*40*k。 我在想对于一个奥数题,我是不是太认真了……(; ̄ェ ̄)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表