换分币

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;
}

 

posted @ 2023-05-15 23:04  酥饼馅红豆沙  阅读(35)  评论(0编辑  收藏  举报