欢迎光临散文网 会员登陆 & 注册

Python编程算法【十一】 出售金鱼

2022-09-08 20:57 作者:SPC编程爱好者  | 我要投稿

【案例内容】

小明将一缸金鱼分5次卖出:第1次卖出全部的一半加1/2条;第2次卖出余下的三分之一加1/3条;第3次卖出余下的四分之一加1/4条;第4次卖出余下的五分之一加1/5条;最后卖出余下的11条。编程求出原来鱼缸中共有多少条金鱼。


【解题思路】

本题我们可以倒着求,假设第5次没卖前的鱼为 fish == 11,则根据题意可求出,第4次没卖前的鱼为 (fish + 1 / 5) * 5 / ( 5 - 1),然后将计算所得的值,重新赋值给 fish,则以此类推,可推出第3次没卖前的鱼为 (fish + 1 / 4) * 4 / ( 4 - 1),第2次没卖前的鱼为 (fish + 1 / 3) * 3 / ( 3 - 1),第1次没卖前的鱼为 (fish + 1 / 2) * 2 / ( 2 - 1),从而可以看出,将设一个变量 i ,让其从5递减到2即可算出原来鱼缸里的鱼数。


【Python代码】

原鱼缸中有59条鱼

本题也可以用递归函数求解。这类题型,只要找到规律,按规律列出公式,通常都要用到循环来求解,那么问题就能迎刃而解。

Python编程算法【十一】 出售金鱼的评论 (共 条)

分享到微博请遵守国家法律