当前位置:网站首页>PTA 换硬币
PTA 换硬币
2022-08-09 10:58:00 【拾荒大妈】
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
输入格式:
输入在一行中给出待换的零钱数额x∈(8,100)。
输出格式:
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。
输入样例:
13
输出样例:
fen5:2, fen2:1, fen1:1, total:4
fen5:1, fen2:3, fen1:2, total:6
fen5:1, fen2:2, fen1:4, total:7
fen5:1, fen2:1, fen1:6, total:8
count = 4
思路:
因题目要求按5分、2分和1分硬币的数量依次从大到小的顺序,所以fen5=fen5-i,其中i从0增加到x/5,但不等于x/5;同理,fen2=(x-fen55)/2-j;j从0增加到(x-fen55)/2,但不等于(x-fen55)/2。
因题目要求每种硬币至少有一枚,所以要进行(x-5fen5)!=0和(x-5fen5-2fen2)!=0的判断。
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
int fen5,fen2,fen1,count=0,total;
for(int i=0;i<x/5;i++)
{
fen5=x/5-i;
if((x-5*fen5)!=0)
{
for(int j=0;j<(x-fen5*5)/2;j++)
{
fen2=(x-fen5*5)/2-j;
if((x-5*fen5-2*fen2)!=0)
{
fen1=(x-5*fen5-2*fen2);
total=fen5+fen2+fen1;
printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n",fen5,fen2,fen1,total);
count++;
}
}
}
}
printf("count = %d",count);
}
边栏推荐
- Oracle数据库常用函数总结
- 华为VRRP+MSTP联动接口检测实验案例
- WebSocket
- Preparation for gold three silver four: how to successfully get an Ali offer (experience + interview questions + how to prepare)
- Mysql多表查询
- Input and output of cnn
- 2022年台湾省矢量数据(点线面)及数字高程数据下载
- arcgis制图之天地图符号样式配置
- matlab图像分割,从基因芯片荧光图像中提取阴性点(弱)和阳性点(强)
- torch.cat()函数的官方解释,详解以及例子
猜你喜欢
随机推荐
Quartz的理解
arcgis制图之天地图符号样式配置
获取指定年度所有周的工具类
【Subpixel Dense Refinement Network for Skeletonization】CVPR2020论文解读
备份mongodb数据库(认证)
leetcode-搜索旋转排序数组-33
基于STM32设计的环境检测设备
类与对象 (下)
Looper 原理浅析
Preparation for gold three silver four: how to successfully get an Ali offer (experience + interview questions + how to prepare)
综述文章的写法
自从我使用HiFlow场景连接器后,在也不用担心成为“落汤鸡”了
性能测试(05)-表达式和业务关联-json关联
Cesium加载三维模型数据
c语言函数的递归调用(汉诺塔问题,楼梯递归问题等)
关于anaconda中conda下载包或者pip下载包很慢的原因,加速下载包的方法(无视anaconda版本和环境)
The complete grammar of CSDN's markdown editor
ThreadLocal及其内存泄露分析
信息系统项目的十大管理
人物 | 从程序员到架构师,我是如何快速成长的?









