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

运行结果

相关推荐
蔡蓝3 分钟前
设计模式-观察着模式
java·开发语言·设计模式
WindSearcher19 分钟前
大模型微调相关知识
后端·算法
取酒鱼食--【余九】29 分钟前
rl_sar实现sim2real的整体思路
人工智能·笔记·算法·rl_sar
西北大程序猿1 小时前
单例模式与锁(死锁)
linux·开发语言·c++·单例模式
你不是我我1 小时前
【Java开发日记】说一说 SpringBoot 中 CommandLineRunner
java·开发语言·spring boot
彩妙不是菜喵1 小时前
算术操作符与类型转换:从基础到精通
c语言
心扬1 小时前
python网络编程
开发语言·网络·python·tcp/ip
qq_454175791 小时前
c++学习-this指针
开发语言·c++·学习
尘浮7282 小时前
60天python训练计划----day45
开发语言·python
Magnum Lehar2 小时前
vulkan游戏引擎test_manager实现
java·算法·游戏引擎