[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;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/quchen528/article/details/83451049