第二次上机实践项目-项目4-穷举法-换分币



问题及代码:

/*

*文件名称:换分币

*作者:刘涛

完成日期:2016.3.12

*

*问题描述:用一元人民币兑换成1分,2分,5分硬币,有多少种换法?

*输入描述:无

程序输出:硬币的个数

*/

#include<iostream>
using namespace std;
int main()
{
    int i,j,k;
    for(i=0;i<=100;i++)
    {
        for(j=0;j<=50;j++)
        {
            for(k=0;k<=20;k++)
            {
                if(i+j*2+k*5==100)
                {
                    cout<<"1分的有"<<i<<"个";
                    cout<<"2分的有"<<j<<"个";
                    cout<<"5分的有"<<k<<"个";
                    cout<<"\n";
                }

            }
        }
    }
    return 0;
}

运行结果:

第二次上机实践项目-项目4-穷举法-换分币_第1张图片

知识点总结:这是一种求解不定方程的题目,会牵扯到多层循环,采用对未知数的取值范围上穷举和组合。

学习心得:对于穷举法,我们需要进一步的考虑循环的条件,尽可能的精简程序,缩小内存。还需要考虑变量是否满足什么特定的关系,以来确定循环的条件。


你可能感兴趣的:(换分币)