【问题描述】将一笔零钱(大于 8 分,小于 1 元, 精确到分)换成 5 分、2 分和 1 分的硬币, 每种硬币至少有一枚。输入金额,问有几种换法?针对每一种换法,输出各种面额硬币的数 量和硬币的总数量。试编写相应程序。
【输入形式】
【输出形式】
【样例输入】12
【样例输出】
0.12 dollar equals to 7 corns, including 1 5-cent, 1 2-cent and 5 1-cent coins.
0.12 dollar equals to 6 corns, including 1 5-cent, 2 2-cent and 3 1-cent coins.
0.12 dollar equals to 5 corns, including 1 5-cent, 3 2-cent and 1 1-cent coins.
【样例说明】
【评分标准】
#include <stdio.h>
int main()
{
int x;
scanf("%d",&x);
int i,j,k;
int count=0;
for(i=1;i<=x;i++){//此代码的巧妙之处在于i的值变动一次j的值会变动x次于此同时j的值每变动一次
for(j=1;j<=x;j++){//k的值会跟着变动x次即以i的值为基准暴力试出正确答案
for(k=1;k<=x;k++){//可以理解为时每变动一下分变动60下分每变动一下秒变动60下
if(5*i+2*j+k==x){//通过这种方法每个数字都可以从x变为 1并参与到运算当中
printf("0.%d dollar equals to %d corns, including %d 5-cent, %d 2-cent and %d 1-cent coins.\n",x,i+j+k,i,j,k) ;
count++;
}
}
}
}
return 0;
}