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;
    }

运行结果

相关推荐
Light603 分钟前
破局“数据孤岛”:构建业务、财务、指标三位一体的智能数据模型
java·大数据·开发语言
guygg885 分钟前
基于Matlab的压缩感知信道估计算法实现
开发语言·算法·matlab
IMPYLH10 分钟前
Lua 的 warn 函数
java·开发语言·笔记·junit·lua
周杰伦_Jay20 分钟前
【Java集合与线程池深度解析】底层原理+实战选型+避坑指南(附代码)
java·开发语言·python
努力学习的少女25 分钟前
对SparkRDD的认识
开发语言·前端·javascript
代码or搬砖28 分钟前
Java中操作Redis
java·开发语言·redis
海上彼尚33 分钟前
Go之路 - 3.go的数据类型与转换
开发语言·后端·golang
诺....33 分钟前
C语言不确定循环会影响输入输出缓冲区的刷新
c语言·数据结构·算法