携程笔试10月13日(三题:100%,0,%45)

第一题:100%
int buyCoke(int m, int a, int b, int c, int x) {
    int res = 0;

    while(m > 0) {
        if (c > 0 && c * 100 >= x) {
            c -= x / 100;
            res += x / 100;
            if (x % 100 != 0) {
                c -= 1;
                res++;
            }
            b += x % 100 / 50;
            a += x % 100 % 50 / 10;

        } else if (b > 0 && c * 100 + b * 50 >= x) {
            b -= (x - c * 100) / 50;
            res += (x - c * 100) / 50;
            res += c;
            if ((x - c * 100) % 50 != 0) {
                b -= 1;
                res++;
            }

            c = 0;
            a += (x - c * 100) % 50 / 10;

        } else if (a > 0 && b * 50 + a * 10 >= x) {
            a -= (x - b * 50) / 10;
            res += (x - b * 50) / 10;
            res += b;

            b = 0;
        }
        m--;
    }
    return res;
}

第二题:没做

第三题:return 0;  45%


#笔试题目##携程#
全部评论
我们竟然出奇的一样
点赞 回复 分享
发布于 2020-10-13 14:24
老哥,第一题第三种情况else if (a > 0 && b * 50 + a * 10 >= x) 不考虑c吗?不应该是else if (a > 0 && c * 100 + b * 50 + a * 10 >= x)吗?可否赐教
点赞 回复 分享
发布于 2020-10-13 14:53
真棒!
点赞 回复 分享
发布于 2020-10-14 12:24

相关推荐

扭转乾坤_:现在企业都是学华为,一直通过丢池子里,最后捞
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务