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

运行结果

相关推荐
小王C语言几秒前
【基础IO】————简单设计一下libc库
前端·数据结构·算法
亦复何言??2 分钟前
BeyondMimic 论文解析
人工智能·算法·机器人
深蓝海拓3 分钟前
使用@property将类方法包装为属性
开发语言·python
WolfGang0073216 分钟前
代码随想录算法训练营 Day20 | 回溯算法 part02
算法
YXXY3138 分钟前
前缀和算法
算法
客卿1239 分钟前
滑动窗口--模板
java·算法
xiaoye-duck16 分钟前
【C++:unordered_set和unordered_map】 深度解析:使用、差异、性能与场景选择
开发语言·c++·stl
_日拱一卒26 分钟前
LeetCode:滑动窗口的最大值
数据结构·算法·leetcode
zjjsctcdl31 分钟前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql
格林威35 分钟前
Baumer相机锂电池极片裁切毛刺检测:防止内部短路的 5 个核心方法,附 OpenCV+Halcon 实战代码!
开发语言·人工智能·数码相机·opencv·计算机视觉·c#·视觉检测