将一笔零钱换成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

代码:

#include<stdio.h>
int my_print(int fen5, int fen2, int fen1, int total, int i) {if (fen5 && fen2 && fen1 && total) {printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n", fen5, fen2, fen1, total);}else i--;if (fen2 > 1) return my_print(fen5, fen2 - 1, fen1 + 2, fen5 + (fen2 - 1) + (fen1 + 2), i + 1);else if (fen5 > 1) return my_print(fen5 - 1, fen2 + 2 + (fen1 + 1) / 2, (fen1 + 1) % 2, fen5 - 1 + (fen2 + 2 + (fen1 + 1) / 2) + ((fen1 + 1) % 2), i + 1);else {printf("count = %d\n", i);return 0;}
}
int main() {int x, fen5, fen2, fen1, total, i = 1;scanf("%d", &x);if (x / 5) fen5 = x / 5;x %= 5;if (x / 2) fen2 = x / 2;x %= 2;   fen1 = x;total = fen5 + fen2 + fen1;my_print(fen5, fen2, fen1, total, i);return 0;
}

C语言:习题4-5 换硬币 (20分)相关推荐

  1. 习题4-5 换硬币 (20分)

    习题4-5 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分 ...

  2. 习题4-5 换硬币 (20分) 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

    习题4-5 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分 ...

  3. 醉林疯的PTA 7-2 换硬币 (20分)

    7-2 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分.2 ...

  4. 习题4-5 换硬币 (20 分)

    将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分.2分和1分硬币的数量依次从大到 ...

  5. pta 天梯赛 7-3 换硬币 (20 分)day4

    将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分.2分和1分硬币的数量依次从大到 ...

  6. 换硬币 (20 分)Java【循环】

    将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分.2分和1分硬币的数量依次从大到 ...

  7. 习题4-5 换硬币 (20分) 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

    输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分.2分和1分硬币的数量依次从大到小的顺序,输出各种换法.每行输出一种换法,格式为:"fen5:5分硬币数 ...

  8. 习题1.8 二分查找 (20 分)

    习题1.8 二分查找 (20 分) 本题要求实现二分查找算法. 函数接口定义: Position BinarySearch( List L, ElementType X ); 其中List结构定义如下 ...

  9. 习题2.1 简单计算器 (20 分)

    习题2.1 简单计算器 (20 分) 模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运 ...

最新文章

  1. FileSystemWatcher使用方法具体解释
  2. K155ID1辉光管驱动芯片功能测试
  3. WebRTC 及点对点网络通信机制
  4. linux配置Httpd授权
  5. php把中文写入mysql_php写入mysql中文乱码的实例解决方法
  6. ElasticSearch快速入门二(Restful介绍)
  7. linux shell的组成,理解Linux中子shell的概念
  8. Maven: git-commit-id-plugin插件
  9. JBOD RAID0
  10. Machine Learning - I. Introduction机器学习综述 (Week 1)
  11. 开源推荐:可用于生产的java聚合支付系统
  12. Unity手游实战:从0开始SLG——本地化篇(一)聊聊游戏本地化
  13. 酷我音乐到设备和驱动器_怎么把腾讯视频图标从电脑设备和驱动器里面删除
  14. 努力赚钱,是为了不让自己的爱情受到别人金钱的考验--这就是现实
  15. Android Studio App开发之循环试图RecyclerView,布局管理器LayoutManager、动态更新循环视图讲解及实战(附源码)
  16. 如何做淘宝客推广淘宝客教程视频
  17. 计算机怎样将多行文字转换成表格,用WPS文本表格转换快速合并多行文字
  18. 犹太人传承了三千多年的10大赚钱定律
  19. 卡尔曼滤波——从推导到应用(上)
  20. 热像仪和夜视仪的区别

热门文章

  1. 用手机远程登录电脑,太高端了。。。。
  2. 【证明】矩阵特征值之和等于主对角线元素之和
  3. 求一个n*n矩阵对角线元素之和C语言,求一个n*n矩阵主对角线之和,次对角线元素之和.用指针完成...
  4. 西门子博图指令——Array数据中元素的写入
  5. Redis 的过期策略是如何实现的?
  6. 从零开始开发微信小程序(四):微信小程序绑定系统账号并授权登录之后台端...
  7. ps滤镜之旋转扭曲算法实现
  8. 我用分析了42万字的歌词,为了搞清楚民谣歌手们在唱些什么
  9. 安卓逆向学习笔记(一)
  10. SPA项目搭建及嵌套路由