[C]硬币组合问题
判断几块钱由5分2分1分组成的方法有多少。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int input,m,n5,n2,n1=0,k=0;//
printf("请输入要知道的钱数:");
scanf("%d",&input);
m = input*100;
for(n5=0; n5<=m/5; n5++)//首先从0个5分钱开始判断
{
for(n2=0; n2<=(m-5*n5)/2; n2++)//其次判断2分钱时应该先排除已经处理过的5分钱数目
{
n1 = m-5*n5-2*n2;
if(n1 >= 0)//确保剩余1分钱的数目大于0
{
printf("%d可由%3d个5分 %3d个2分 %3d个1分 组成\n",input,n5,n2,n1);
k++;
}
}
}
printf("总共有%d种组合方法。\n",k);
return 0;
}