C语言 每日一题 牛客网 11.13 Day17

找零

Z国的货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。

现在小Y使用1024元的纸币购买了一件价值为N(0 < N≤1024)的商品,请问最少他会收到多少硬币?

思路

运用if语句进行判断分类

代码实现

cpp 复制代码
    int main() {
        int n = 0;
        int res = 0;
        scanf("%d", &n);
        int data = 1024 - n;

        char coins[4] = { 64,16,4,1 };
        int cur = 0;
        for (cur = 0; data > 0 && cur < 4; ) {
            if (data >= coins[cur]) {
                data = data - coins[cur];
                res++;
            }
            else {
                cur++;
            }
        }

        printf("%d", res);

        return 0;
    }

运行结果

相关推荐
CUMT_DJ39 分钟前
matlab计算算法的运行时间
开发语言·算法·matlab
Overboom4 小时前
[C++] --- 常用设计模式
开发语言·c++·设计模式
Univin4 小时前
C++(10.4)
开发语言·数据结构·c++
KyollBM4 小时前
每日羊题 (质数筛 + 数学 | 构造 + 位运算)
开发语言·c++·算法
Paul_09206 小时前
golang面经——map模块和sync.Map模块
开发语言
Univin6 小时前
C++(10.5)
开发语言·c++·算法
Asmalin6 小时前
【代码随想录day 35】 力扣 01背包问题 一维
算法·leetcode·职场和发展
剪一朵云爱着6 小时前
力扣2779. 数组的最大美丽值
算法·leetcode·排序算法
qq_428639616 小时前
虚幻基础:组件间的联动方式
c++·算法·虚幻
haogexiaole6 小时前
Java高并发常见架构、处理方式、api调优
java·开发语言·架构