题解 | #汽水瓶#

汽水瓶

http://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f

  1. 简单使用递归解决。
  2. 注意返回时的边界值。
#include <iostream>

using namespace std;

int calculate(int curr, int all) {

    if (curr == 2) {
        all++;
        return all;
    }
    else if (curr == 1) {
        return all;
    }


    all += curr / 3; // 可以换的汽水数目
    curr = curr % 3 + curr / 3; // 目前空瓶子数目

    all = calculate(curr, all);

    return all;
}



int main() {

    int n;

    while (cin >> n) {
        if (n == 0) continue;

        int res = calculate(n, 0);

        cout << res << endl;

    }


    return 0;
}
算法解析 文章被收录于专栏

这里主要是算法岗的自我思路总结

全部评论

相关推荐

不亏是提前批,神仙打架,鼠鼠不配了
站队站对牛:现在92都报工艺岗了
投递韶音科技等公司7个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 11:35
程序员小白条:话太多,没实力和学历,差不多回答回答就行了,身份地位不一样
点赞 评论 收藏
分享
自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:02
ssob上原来真有BOSS啊
硫蛋蛋:这种也是打工的,只不是是给写字楼房东打工
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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