标签:__ 11 Algorithm 金鱼 鱼缸 flag Day12 time Fun
问题描述
小明将养的一缸金鱼分5次出售:第一次卖出全部的一半加1/2条,第二次卖出余下的三分之一加1/3条,第三次卖出余下的四分之一加1/4条,第五次卖出余下的五分之一加1/5条, 最后卖出余下的11条,求出原来鱼缸中有多少条金鱼。
问题分析
假设第j次卖鱼前金鱼总数为x, 则第j次卖鱼后鱼缸中还剩下金鱼的条数为x-(x+1)/(j+1), 而且第四次卖鱼后鱼缸中剩下的金鱼条数为11.
而且 x+1 必然能整除 j+1
Code
# !/user/bin/python3
# -*- coding: utf-8 -*-
# @author: HHVic
# @desc: 出售金鱼
import time
# add timer to calculate the performance
# Basic performance
###############################################################
start = time.time()
if __name__=='__main__':
flag=0
i=23
while flag==0:
j=1 #j表示卖鱼的次数
x=i #x表示每次卖鱼的条数
while j<=4 and x>=11:
if (x+1)%(j+1)==0:
x-=(x+1)/(j+1)
else:
x=0
break
j+=1
if j==5 and x==11:
print('原来鱼缸中有%d条金鱼。'%i)
flag=1 #求出结果flag置为1,退出循环。
i+=2
end = time.time()
print("The Basic Runtime is {0}".format((end-start)))
结果:
原来鱼缸中有59条金鱼。
The Basic Runtime is 0.0009522438049316406
Process finished with exit code 0
标签:__,11,Algorithm,金鱼,鱼缸,flag,Day12,time,Fun 来源: https://blog.csdn.net/landian0531/article/details/120199524
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。