谜题|重球的重量

令人费解的事 : 共有2187个球,其中1个重。找出最少的尝试次数球必须称重才能找到重球。 图片[1]-谜题|重球的重量-yiteyi-C++库

null

解决方案 : 需要进行的最小测量量将等于7次。 2187 = 3^7

  1. 第一步: 将2187个球分成3组,每组729个,比如C1、C2和C3。将C1放在称重机的一侧,C2放在另一侧。这可能导致3种情况:
    • 条件1:C1等于C2,这意味着C3的球最重
    • 条件2:C1
    • 条件3:C1>C2,这意味着C1有最重的球。

    让我们假设条件1继续,C3有最重的球。 图片[2]-谜题|重球的重量-yiteyi-C++库

  2. 第二步: 现在再次将C3分成3组,每组243个,再次命名为C1、C2和C3。将C1放在称重机的一侧,C2放在另一侧。这可能导致3种情况:
    • 条件1:C1等于C2,这意味着C3的球最重
    • 条件2:C1
    • 条件3:C1>C2,这意味着C1有最重的球。

    让我们假设条件2继续,C2有最重的球。 图片[3]-谜题|重球的重量-yiteyi-C++库

  3. 第三步: 现在将C2再次分成3组,每组81人,再次命名为C1、C2和C3。将C1放在称重机的一侧,C2放在另一侧。这可能导致3种情况:
    • 条件1:C1等于C2,这意味着C3的球最重
    • 条件2:C1
    • 条件3:C1>C2,这意味着C1有最重的球。

    让我们假设条件3继续,C1有最重的球。 图片[4]-谜题|重球的重量-yiteyi-C++库

  4. 第4步: 现在将C1再次分成3组,每组27个,再次命名为C1、C2和C3。将C1放在称重机的一侧,C2放在另一侧。这可能导致3种情况:
    • 条件1:C1等于C2,这意味着C3的球最重
    • 条件2:C1
    • 条件3:C1>C2,这意味着C1有最重的球。

    让我们假设条件3继续,C1有最重的球。 图片[5]-谜题|重球的重量-yiteyi-C++库

  5. 第5步: 现在将C1再次分成3个相等的组,每组9个,再次命名为C1、C2和C3。将C1放在称重机的一侧,C2放在另一侧。这可能导致3种情况:
    • 条件1:C1等于C2,这意味着C3的球最重
    • 条件2:C1
    • 条件3:C1>C2,这意味着C1有最重的球。

    让我们假设条件1继续,C3有最重的球。 图片[6]-谜题|重球的重量-yiteyi-C++库

  6. 第6步: 现在再次将C3分成3个相等的组,每组3个,再次命名为C1、C2和C3。将C1放在称重机的一侧,C2放在另一侧。这可能导致3种情况:
    • 条件1:C1等于C2,这意味着C3的球最重
    • 条件2:C1
    • 条件3:C1>C2,这意味着C1有最重的球。

    让我们假设条件1继续,C3有最重的球。 图片[7]-谜题|重球的重量-yiteyi-C++库

  7. 第7步: 最后把C3分成一组,一组有3个球,把它们重新命名为B1,B2和B3。将B1放在称重机的一侧,B2放在另一侧。这可能导致3种情况:
    • 条件1:B1等于B2,这意味着B3的球最重
    • 条件2:B1
    • 条件3:B1>B2,这意味着B1的球最重。

    让我们假设条件1继续,那么B3是我们寻找的最重的球。 图片[8]-谜题|重球的重量-yiteyi-C++库

      因此,总共需要7步才能到达最重的球。

      本文由 舒巴姆·辛格 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

      如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享