换分币
1.问题描述
将5元的人民币兑换成1元,5角和1角的硬币,共有多少种不同的兑换方法
2.问题分析
都按角来算,设变量x,y,z分别代表1元,5角,1角
由题目的要求,可以得到10*x+5*y+z=50
3.算法设计
问题分析中得到了一个不定方程,显然不定方程会有多组解。根据题意将它们所有可能取值的组合代入方程中。为实现该功能,需要使用3个嵌套的for循环语句
4.程序
#include<iostream> using namespace std; int main() { int x, y, z; for(x=0;x<=5;x++)//x为一元硬币钱数,最多就能5个x for(y=0;y<=10;y++)//y为五角硬币钱数,最多取到10 for (z = 0; z <= 50; z++)//z为一角硬币钱数,最多是50 { if (10 * x + 5 * y + z == 50)//判断符不符合方程 { cout << x << " " << y << " " << z << " " << endl; } } return 0; }