首页 > 其他分享 >硬币找钱问题

硬币找钱问题

时间:2023-12-10 18:02:14浏览次数:28  
标签:硬币 int 找钱 ++ 问题 -- money 币值

硬币找钱

如题:

思路:

从最大币值入手

include <stdio.h>

int main() {
int a[6] = {5, 10, 20, 50, 100, 200}; // 币值,以分为单位
int b[6]; // 存放对应硬币的个数
int n;
scanf("%d", &n); // 输入n组测试数据

while (n--) {
    int j;

    // 读取每种硬币的个数
    for (j = 0; j < 6; j++) {
        scanf("%d", &b[j]);
    }

    double money;
    scanf("%lf", &money);
    money = money * 100; // 将金额转换为分
    int num = 0;

    // 从最大币值开始判断
    for (j = 5; j >= 0; j--) {
        /*断是否可以使用当前面值的硬币来支付。
        如果满足这个条件,就执行相应的支付操作,将硬币的数量减少,并更新剩余金额;
        否则,跳过当前面值,尝试使用更小面值的硬币。
      */
        if (money >= a[j] && b[j] > 0) {
            money = money - a[j];
            b[j]--;
            j++; // 回去找最大币值
            num++;
        }
    }

    // 如果剩余金额小于最小单位5分,则输出硬币个数,否则输出"impossible"
    if (money <= a[0]) {
        printf("%d", num);
    } else {
        printf("impossible");
    }

    // 如果不是最后一组数据,输出换行
    if (n > 0) {
        printf("\n");
    }
}

return 0;
}

标签:硬币,int,找钱,++,问题,--,money,币值
From: https://www.cnblogs.com/kirei7/p/17892987.html

相关文章

  • 工作分配问题
    如题:思路:让工作去选人画出解空间树即可代码#include<stdio.h>#include<limits.h>intn;intc[21][21];//将工作i分配给第j个人的费用为c[i][j]intminCost=INT_MAX;//因为要求最小值,所以将minCost初始化为最大整数(int型)intsum=0;//记录搜索过程中得......
  • 通过VS地址擦除系统定位缓冲区溢出问题
    VS2019增加了一个名为“地址擦除系统”的功能,默认是关闭的,可以在项目“属性”-“c/c++”-"常规"中开启。在开启地址擦除系统”功能时,将调试信息格式设置为“程序数据库”。如下图:如果没有该项,检查VS2019的版本是否低于16.9,并且在安装项中是否安装“C++AddressSanitizer”。如下......
  • MDM介绍:6. 有密码方面问题?远程帮您解决!
    “IC、IP、IQ卡,统统告诉我密码!”相信大家都知道这句幽默的台词。密码,如此重要的信息,能随便告诉别人吗?当然不能,也不能随便就忘记了。QQ密码、微信密码、邮箱密码、手机密码、电脑登录密码、各个软件登录密码、银行卡密码、支付宝密码……如此多的密码,而且有的账号不需要时时登录,想......
  • 已删除但未消失的图片(Excel与WPS切换时产生的问题)
    问题:一个完全空的工作簿为何会非常大?问题分析:将工作簿后缀名改成rar,打开..xl/media,可以看到有很多图片,这些图片造成了文件大。进一步的问题:这些图片哪里来的,藏在何处。过程:这是Excel与WPS操作同一工作簿产生的问题。第一步:使用WPS打开工作簿,在其中插入嵌入到单元格的图片第......
  • 去掉杠的问题
    数据前三位保持不变,第一、第二条杠后为两位数,第三、第四条杠后为三位数,原横杠去掉。函数公式解决:=IF(LEN(A2)<4,A2&"",CONCAT(IFNA(TEXT(TEXTSPLIT(A2,"-"),{0,"00","00","000","000"}),"")))使用TextSplit函数,将A列中数据以横杠为分隔符横向拆分。使用......
  • 逻辑视图实验分析及其问题思考
    四实验分析及问题思考对于会员管理系统的实现视图模型实验,以下是对实验过程的分析及问题思考:实验过程分析:在会员管理系统的实现视图模型实验中,我们首先对会员信息、会员关系和会员积分三个子系统进行了独立的设计和开发。然后,通过接口和数据交互将这三个子系统集成在一起,形成......
  • 为什么ESP-idf这个powershell窗口有时会打不开,有人遇到过这个问题吗
    ESP-IDF,全称EspressifIoTDevelopmentFramework,是乐鑫官方的物联网开发框架。它主要适用于ESP32、ESP32-S、ESP32-C和ESP32-H系列SoC的开发。此外,它还基于C/C++语言提供了一个自给自足的软件开发工具包(SDK),为用户在这些平台上开发通用应用程序提供了方便。同时,ESP-IDF支持多种网络......
  • 小程序建立用户与数据的联系问题解决方案
    在小程序中建立用户与数据的联系是一个常见的问题,在本文中提供了一个解决方案。这个解决方案包括几个关键步骤。首先,需要通过用户登录功能实现用户的身份识别,并获取到用户的唯一标识符。接着,需要在后台数据库中创建一个用户表,用于存储用户的基本信息和与之相关联的数据。在这个表中......
  • RISC-V 环境搭建问题----1
    在此记录一下搭建开源Vivado-risc-v项目时所遇到的一些问题本来已经弄好的差不多了,最后一看,下载的别人网盘的,版本落后了,只支持到vivado2022.1....只好重新拉一下最新的,又踩雷无数。1.wls2进行gitclone时连接拒绝原文:Ubuntu20.4WSL2无法访问github终极解决方案_ubuntug......
  • System 2 Attention:可以提高不同LLM问题的推理能力
    推理正在成为大型语言模型(llm)关注的下一个主要领域。尽管llm拥有先进的能力,但大多数llm经常被简单的错误绊倒,显示出他们在推理方面的局限性。这些模型可能会被上下文中的不相关细节所误导,或者受到输入提示中的偏差的影响。而后一种倾向被称为谄媚,也就是说模型会更偏向与输入一致......