題目有點長,請各位耐心閱讀。
題目:現在你有a,b,c三種原件若干個,你需要a原件500個,b原件400個,c原件300個去建造一個機器。有四個商人,從四個商人那兒用1塊錢分別能買到以下數目的原件:甲a原件2個,b原件4個,c原件2個,乙a原件2個,b原件1個,c原件3個,丙a原件5個,b原件2個,c原件2個,丁a原件4個,b原件3個,c原件2個。要求通過輸入你的元件數,求出最省錢的方法。
我編的程序:
#include<stdio.h>
int main()
{
int x,y,z,w,a,b,c,i,j,k,l,sum2,sum=250;
printf("請輸入所擁有原件個數:例如10,30,50:\n");
scanf("%d,%d,%d",&a,&b,&c);
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
for(k=0;k<100;k++)
{
for(l=0;l<100;l++)
{
if((2*i+2*j+5*k+4*l)>=(500-a)&&(4*i+j+2*k+3*l)>=(400-b)&&(2*i+3*j+2*k+2*l)>=(300-c))
{
sum2=i+j+k+l;
if(sum2<sum)
{
x=i;
y=j;
z=k;
w=l;
sum=sum2;
}
}
}
}
}
}
printf("甲處購買%d次,乙處購買%d次,丙處購買%d次,丁處購買%d次。\n",x,y,z,w);
printf("最後買到a%d個,b%d個,c%d個\n",2*i+2*j+5*k+4*l,4*i+j+2*k+3*l,2*i+3*j+2*k+2*l);