新手 各位帮忙看下这个程序哪错了。。
背景:我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或几张的组合,可以满足不同邮件的不同的邮资。
现在,邮局有4种不同面值的邮票。在每个信封上最多能贴5张邮票,面值可相同,可不同。
输入:
四种邮票的面值。
输出:
用这四种面值组成的邮资最大的从1开始的一个连续的区间。
说明:
如结果为10,则表明使用4张邮票可组合出1、2、3、4、5、6、7、8、9、10这些邮资。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c,d,n,num1,num2,num3,num4;
scanf("%d %d %d %d",&a,&b,&c,&d);
k: for(n=1;n<=10000;n++)
for(num1=0;num1<=5;num1++)
for(num2=0;num2<=5;num2++)
for(num3=0;num3<=5;num3++)
for(num4=0;num4<=5;num4++)
{
if((num1+num2+num3+num4)<=5&&(a*num1+b*num2+c*num3+d*num4)==n){n++;goto k;}
if(num1==5&&num2==5&&num3==5&&num4==5) printf("%d",n-1);
}
system("pause");
}
运行以后没结果。。。