有200、50、10的好几张发票,只用10张加起来能等于1000

来源:百度知道 编辑:UC知道 时间:2024/06/16 02:04:52
有200、50、10的好几张发票,只用10张加起来能等于1000
速度速度,8点之前!!!

这个貌似和我要做的这题有些类似啊..
用100元钱买100只孔雀,大的5元一只,中的3元一只,小的5毛一只.
我是这样做的:
#include<stdio.h>
#include<math.h>
void main()
{
int x,y,z;
for(x=0;x<=20;x++)
for(y=0;y<=33;y++)
{z=100-x-y;
if (5*x+3*y+0.5*z==100)
printf("x=%2d,y=%2d,z=%2d\n",x,y,z);
}
}

应该可以参考一下吧...

如果你必须是10张的话 那是没有办法的 解出来是小数 不符合实际
如果小于10张 也只有5张200才能解决
只有此解 小于等于10张的唯一的解!!

用程序进行枚举 此题无解
前提是不同面值的发票至少使用一次
且发票的总数恰好等于10