换分币

一、问题描述

用5元人民币兑换成1元、5角和1角硬币,有多少种不同的兑换方法?

二·、设计思路

1.根据题意,可将问题转换为解不定方程。设x,y,z分别表示待兑换的1元,5角和1角的硬笔所需要的钱数,则可得到如下方程x+y+z=50.

2.其中x取值可能为{0,10,20,30,40,50},y取值可能是{5,10,15,20,25,30,35,40,45,50},z取值可能是{0,1,2,..50}。

3.将x,y,z进行三个嵌套的for循环,得到符合方程的x,y,z。

4.将所得的x,y,z,输出。

三、程序流程图

 

四、代码实现

#include<stdio.h>
int main()
{
int x,y,z,count=1;
printf("可能兑换方式如下:\n");
for(x=0;x<=50;x+=10)
for(y=0;y<=50-x;y+=5)
for(z=0;z<=50-x-y;z++)
if(x+y+z=50)
printf(count%3?"%d:10*%d+5*%d+1*%d\t":"%d:10*%d+5*%d+1*%d\n"'count++,x/10,y/5,z);
}

 

posted @ 2023-05-17 20:32  jais  阅读(35)  评论(0编辑  收藏  举报