算法:把一个数字拆分成指定数字的和,允许数字个数为0和重复

#include <stdio.h>

int main()
{
	int t, s1, s2, s3;	
	printf("散装重量按指定规格分包方案:
");
	printf("输入总重量:");
	scanf("%d", &t);
	printf("输入三种规格(从大到小):");
	scanf("%d%d%d", &s1, &s2, &s3);
	
	int i,j,k;	
	for(i=t/s1; i>=0; i--)
	{
		for(j=t/s2; j>=0; j--)
		{
			for(k=t/s3; k>=0; k--)
			{
				if(i*s1+j*s2+k*s3==t)
				{
					printf("%d×%d+%d×%d+%d×%d=%d
", s1, i, s2, j, s3, k, t);
				}
			}
		}
	}
	
	return 0;
}

  

原文地址:https://www.cnblogs.com/luqingfei/p/12716317.html