首页 > 试题广场 >

将100元钱兑换成10元、5元、1元,编程求不同的兑法数。要

[问答题]

将100元钱兑换成10元、5元、1元,编程求不同的兑法数。要求每种兑法中都要有10元、5元和1元。

推荐
//===================================
//EX0211.cpp
//求100元钱的兑换数
//===================================
#include<iostream>
using namespace std;
//-----------------------------------
int main() {
    int n=0;
    for(int i10=1; i10<=9; i10++)
   for(int i5=1; i5<=17; i5++)
   for(int i1=1; i1<=85; i1++)
      if(10*i10 +5*i5 +1*i1 ==100)
      n++;
}//==================================
结果为81
发表于 2018-05-07 20:32:37 回复(0)
#include <iostream>
using namespace std;

int main()
{
    for (int i = 1; i < 9; i++)
    {
        for (int j = 1; j < 17; j++)
        {
            for (int k = 1; k < 85; k++)
            {
                if ((i * 10 + j * 5 + k * 1) == 100)
                {
                    cout << i << " " << j << " " << k << endl;
                }
            }
        }
    }
}

发表于 2020-03-15 16:28:48 回复(0)
#include<iostream>
using namespace std;
int n;
int main()
{
    for(int x=1;x<=10;x++)
    {
        for(int y=1;y<=20;y++)
        {
            for(int z=1;z<=100;z++)
            {
                int sum=x*10+y*5+z;
                if(sum==100)
                {
                    cout<<"10元"<<x<<"张"<<" "<<"5元"<<y<<"张"<<" "<<"1元"<<z<<"张"<<endl;
                    n++;
                }
            }
        }
    }
    cout<<"总共有"<<n<<"种取法"<<endl;
    return 0;
}

编辑于 2019-11-20 22:03:36 回复(0)
#include <iostream>
using namespace std;

int main()
{
    //每种方案都要有10元、5元、1元。100-10-5-1=84元
    //即10元最多有1+[84/10]=9张,5元最多有1+[84/5]=17张,1元有1+[84/1]=85张
    for (int i = 1; i <= 9++i)
        for (int j = 1; j <= 19 - 2 * i; ++j)
            for (int k = 1; k <= 100 - 10 * i - 5 * j; ++k)
                cout << "10元:" << i << ";"
                     << "5元:" << j << ";"
                     << "1元:" << k << endl;
}
发表于 2021-09-20 15:28:51 回复(0)