以下是c语言代码(含注释),兑换方案有3,418,951种:
#include
void main()//主函数
{
int wuFen=0;//5分硬币的数量
int yiJiao=0;//1角硬币的数量
int wuJiao=0;//5角硬币的数量
int yiYuan=0;//1元硬币的数量
int count=0;//记录兑换方案次数
//内嵌四次循环,分析每种兑换情况(即计算每种硬币的数量的组合)
for(wuFen=0;wuFen<=100*100/5;wuFen++)
for(yiJiao=0;yiJiao<=100*100/10;yiJiao++)
for(wuJiao=0;wuJiao<=100*100/50;wuJiao++)
for(yiYuan=0;yiYuan<=100*100/100;yiYuan++)
//如果四种硬币总数量等于100元即10000分
if(wuFen*5+yiJiao*10+wuJiao*50+yiYuan*100==100*100)
{
//累增兑换方案次数,输出每种兑换结果
count++;
printf("100元可以兑换成%d个5分硬币和%d个1角硬币和%d个5角硬币和%d个1元硬币\n",wuFen,yiJiao,wuJiao,yiYuan);
}
printf("兑换方案共有%d种。\n",count);//输出兑换方案次数
}以下是程序运行结果(部分):