换分币
一、问题描述
用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); }