精华内容
下载资源
问答
  • 五人分鱼

    2019-12-31 11:06:08
    五人分鱼:# # A、B、C、D、E五人在某天夜里合伙捕鱼 最后疲惫不堪各自睡觉# # 第二天A第一个醒来 他将鱼分为5份 扔掉多余的1条 拿走自己的一份# # B第二个醒来 也将鱼分为5份 扔掉多余的1条 拿走自己的一份# # 然后...

    五人分鱼:# # A、B、C、D、E五人在某天夜里合伙捕鱼 最后疲惫不堪各自睡觉# # 第二天A第一个醒来 他将鱼分为5份 扔掉多余的1条 拿走自己的一份# # B第二个醒来 也将鱼分为5份 扔掉多余的1条 拿走自己的一份# # 然后C、D、E依次醒来也按同样的方式分鱼 问他们至少捕了多少条鱼# 假设有1~5条鱼。 由题意可知,如果是5条鱼是不够分的 所以直接从5开始,当然也可以从1开始

    def FenYu():    
    totalFish = 6    
    while True:       
     totalFish1 = totalFish       
      enough = True        
      for _ in range(5):            
      if (totalFish1 - 1) % 5 == 0:            # 第一次分鱼                
      totalFish1 = (totalFish1 - 1)//5 * 4  # 下一个人分鱼的总数量           
       else:                
       enough = False                        # 分的鱼不对               
        break        
        if enough:           
         print('一共有{}条鱼'.format(totalFish))           
          break       
           totalFish += 1
    if __name__ == "__main__":   
        FenYu()
    
    展开全文
  • 本篇文章小编给大家分享一下Python经典五人分鱼代码实例解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天...

    本篇文章小编给大家分享一下Python经典五人分鱼代码实例解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

    A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。

    日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。

    B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。

    C、D、E依次醒来,也按同样的方法拿鱼。

    问他们至少捕了多少条鱼?

    def main():

    fish = 1

    while True:

    total, enough = fish, True

    for _ in range(5):

    if (total - 1) % 5 == 0:

    total = (total - 1) // 5 * 4

    else:

    enough = False

    break

    if enough:

    print(f'总共有{fish}条鱼')

    break

    fish += 1

    if __name__ == '__main__':

    main()

    实例扩展:

    #Python3 实例--Python 五人分鱼

    print("Python3 实例--Python 五人分鱼")

    #原则:

    '''日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。

    B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。

    C、D、E依次醒来,也按同样的方法拿鱼。

    问他们台伙至少捕了多少条鱼?(x)

    A:(x-1)/5

    B:(x-((x-1)/5)-1)/5

    C:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5

    D:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1)

    E:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1))-1)

    '''

    def main():

    fish = 1

    while True:

    #默认鱼的数量是够分的,enough = True

    total, enough = fish, True

    #循环步骤:每一个人都按照相同的原则分鱼

    for _ in range(5):

    #"_"符号在循环中不会用到,起的是循环次数的作用,可以看作和i,j是等效的

    #如果正好够5个人分,不需要扔掉一条

    if (total - 1) % 5 == 0:

    #除了第一个人,剩下的鱼的总数为:(total - 1) // 5 * 4,

    # 但是此时流程还没有走完,还未计算鱼的总数

    total = (total - 1) // 5 * 4

    #如果不够一个人分,enough = False,

    # 说明鱼的数量不是最少的,还需要每一个重复步骤上加一条,跳出循环

    else:

    enough = False

    break

    #判断鱼是不是够分,而且鱼的总数取的是最小值

    if enough:

    #若是,输出鱼的总数,结束程序

    print(f'总共有{fish}条鱼')

    break

    #鱼的数量循环加1

    fish += 1

    main()

    展开全文
  • Python五人分鱼

    2020-08-14 18:55:01
    题目链接:五人分鱼 题目描述 A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。 日上三杆,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。 B第...

    题目链接:五人分鱼

    题目描述

    A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份;B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份;C、D、E依次醒来,也按同样的方法拿鱼。

    问他们至少捕了多少条鱼?

    分析

    1、直接暴力查最少捕获鱼的数量,题目链接有代码。

    2、查最后一个人拿到鱼的数量,假设该数量为fish,该数量要可以满足4次 (fish * 5 + 1) % 4 == 0; fish /= 4。

    代码

    def main():
        fish = 1
        while True:
            flag = 0
            tfish = fish  #最后一个人拿到的鱼
            for _ in range(5):
                fish = fish * 5 + 1  #前面人拿掉1/5剩下的鱼
                if fish % 4 == 0:
                    flag += 1
                    fish /= 4  #前面人拿到的鱼
                    continue
                else:
                    break
            if flag == 4:
                break
            else:
                fish = tfish + 1  #不行就第五个人再多拿一条鱼重试
        print(f"至少捕获了{int(fish)}条鱼。")
    
    if __name__ == '__main__':
        main()

     

    展开全文
  • Python :16五人分鱼

    2020-03-24 10:23:44
    五人分鱼问题 A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。 日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。 B 第二个醒来,也将鱼...

    五人分鱼问题

    A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。

    日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。

    B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。

    C、D、E依次醒来,也按同样的方法拿鱼。

    问他们台伙至少捕了多少条鱼?

    代码献上:

    def main():
        fish = 1
        while True:
            total, enough = fish, True
            for _ in range(5):
                if (total - 1) % 5 == 0:
                    total = (total - 1)  //  5 * 4
                else:
                    enough = False
                    break
            if enough:
                print(f'总共有{fish}条鱼')
                break
            fish += 1
    if __name__ == '__main__':
        main()
    

    运行结果: 总共有3121条鱼

     

    展开全文
  • A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三杆,A 第一个醒来,他将分为五份,把多余的一条扔掉,拿走自己的一份。B 第二个醒来,也将分为五份,把多余的...
  • python----五人分鱼

    2021-04-14 21:10:21
    python----五人分鱼 A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。 日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。 B 第二个醒来,也...
  • #Python3 实例--Python 五人分鱼 print("Python3 实例--Python 五人分鱼") #原则: '''日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。 B 第二个醒来,也将鱼分为五份,把多余的...
  • python五人分鱼

    2021-01-01 07:57:38
    A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。 日上三杆,A 第一个醒来,他将分为五份,把多余的一条扔掉,拿走自己的一份。 B 第二个醒来,也将分为五份,把多余...
  • 文章目录五人分鱼顺推反推 说明:本篇博文的知识点大部分来自 Python3 实例 五人分鱼 # A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。 # 日上三杆,A 第一个醒来,他将...
  • Python实例:五人分鱼

    2020-11-08 20:03:58
    五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。 日上三杆,A 第一个醒来,他将分为五份,把多余的一条扔掉,拿走自己的一份。 B 第二个醒来,也将分为五份,把多余的一条扔掉拿...
  • A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。 日上三杆,A 第一个醒来,他将分为五份,把多余的一条扔掉,拿走自己的一份。 B 第二个醒来,也将分为五份,把...
  • 五人分鱼问题

    2014-04-21 21:22:00
    abcde五人打渔,打完睡觉,a先醒来,扔掉1条,把剩下的分成5,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份,拿一份走了;然后cde都按上面的方法取。问他们一共打了多少条,写程序和算法 int ...
  • A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三杆,A 第一个醒来,他将分为五份,把多余的一条扔掉,拿走自己的一份。B 第二个醒来,也将分为五份,把多余的...
  • A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。 日上三杆,A 第一个醒来,他将分为五份,把多余的一条扔掉,拿走自己的一份。 B 第二个醒来,也将分为五份,把...
  • 参考:n = 1person1 = (n-1)/5person2 = (person1 * 4 -1) / 5person3 = (person2 * 4 -1) / 5person4 = (person3 * 4 -1) / 5person5 = (person4 * 4 -1) / 5while True:if int(person1) == person1 and int(person...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 189
精华内容 75
关键字:

五人分鱼