美文网首页
翻硬币问题

翻硬币问题

作者: 胡哈哈哈 | 来源:发表于2016-05-20 16:59 被阅读641次

    题目

    总共有n枚硬币均正面朝上,规则规定每次只能将其中p枚硬币翻面(1≤p≤n)。问最少需要多少次操作才能将所有硬币翻面。

    思路

    • 先进行n/p次操作,将(n/p - 1)*p枚硬币翻面,令r = n % p,则剩余r + p;
    • 考虑将其中x枚反面朝上的硬币翻面,p - x枚正面朝上的硬币翻面;
    • 此时剩余正面向上的硬币总数为x + r + p - (p - x) = p,解方程得x = (p - r) / 2;
    • 方程有解的前提是x为偶数,故p和r应同奇偶,如p为奇数,每做一次操作,正面向上的硬币总数变换奇偶性
    • 现在讨论n和p的奇偶关系:
      • n为奇数,p为奇数:计k为n/p向上取整
        • k为奇数,可行
        • k为偶数,无解
      • n为偶数,p为偶数:可行。
      • n为奇数,p为偶数:无解。
      • n为偶数,p为奇数:计k为n/p向上取整
        • k为偶数,可行
        • k为奇数,无解
    • 应注意n/p介于1到2之间的情况。

    答案

    如满足上述奇偶讨论的要求:

    • 当n/p介于1到2之间时,答案为3;
    • 当n/p大于等于2时,答案为n/p向上取整;

    不满足则无解。

    相关文章

      网友评论

          本文标题:翻硬币问题

          本文链接:https://www.haomeiwen.com/subject/ocenrttx.html