#include<stdio.h>
int function(int a,int b,int c)
{
int max=5*a+10*b+3*c;
return max;
}
int main(void)
{
int x,y,z;
int i=0;
int arr=0;
int arr1[3];
for(x=1;x<=400;x++)
{
for(y=1;y<=286;y++)
{
for(z=1;z<=667;z++)
{
if(3*x+7*y+2*z<=2000&&5*x+4*y+3*z<=2000)
{
int max=function(x,y,z);
if(max>arr)
{
arr=max;
arr1[0]=x;
arr1[1]=y;
arr1[2]=z;
}
}
}
}
}
printf("%d,%d,%d,%d",arr,arr1[0],arr1[1],arr1[2]);
}
这是用c语言写的,可以得到结果
function max=f(a,b,c)
max=5*a+10*b+3*c;
temp=0;
for x=1:400
for y=1:286
for z=1:667
if 3*x+7*y+2*z<=2000&&5*x+4*y+3*z<=2000
max=f(x,y,z);
if max>temp
temp=max;
break;
end
end
end
end
end
fprintf("%d",x);
fprintf("%d",y);
fprintf("%d",z);
fprintf("%d",max);
end
我在matlab这样写但运行不出结果