Description
某人想将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。要求换正好40张,且每种票子至少一张。问:有几种换法?
Input
无输入
Output
一个数,表示共有多少种换法
枚举法 穷举
先模仿再创新
分析:
定义一些元素,表明各张面额分别有多少张
int a, b, c, d, e; //10,5,2,1 e表示有多少种换法
核心逻辑,分到最后的面额与面额数量之积为100,面额数量为40
if(a*10+b*5+c*2+d*1==100 && a+b+c+d==40)
{
e++;//能满足题中条件就进行加一
}
采用for循环来进行穷举法
for(a=1;a<=40;a++)
{
for(b=1;b<=40;b++)
{
for(c=1;c<=40;c++)
{
for(d=1;d<=40;d++)
{
//一层套一层的for循环,不断进行增加前提
}
}
}
}