题解 | #牛妹的蛋糕#

牛妹的蛋糕

https://www.nowcoder.com/practice/1f7280d9897d4305b2da6790fe131729

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可  
     * @param n int整型 只剩下一只蛋糕的时候是在第n天发生的.
     * @return int整型
     */
    public int cakeNumber (int n) {
        if (n<=1){ 
            return n;
        }
        int m=1;
        while (n>1){ 
            m=(m+1)*3/2;
            n-=1;
        }
        return m;
    }
}

简单数学逆推即可:

若n<=1, 则只需1天 或0天则吃完,故返回n。

若n>1, 设第n天剩余m块 则从最后一天剩1块开始倒退. 第n-1天是第n天(数量+1)*3/2.

该逆推回退到第1天 需要n-1步,故设检查条件为n>1, 即while loop run (n-1) times. 毕。

全部评论

相关推荐

ros275229:社团删了吧,cf因该1200才勉强入门吧,也删了,你可以写算法刷了多少道,都比这个好
点赞 评论 收藏
分享
axiom15:校友,我感觉你这个简历去华子暑期实习随便去了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务