c语言编程 装箱子

Python018

c语言编程 装箱子,第1张

#include<stdio.h>

#define n 1000

int main(void)

{ int a[n],b[n],i=0,j,x,max=1

scanf("%d",&x)

for(i=1i<=xi++)

scanf("%d",&a[i])

for(j=1j<=100j++)

b[j]=100

for(i=1i<=xi++)

for(j=1j<=100j++)

{ if(b[j]-a[i]>=0)

{ printf("%d %d\n",a[i],j)

b[j]=b[j]-a[i]

if(max<j)

max=j

break}

}

printf("所需的箱子数目为%d\n",max)

return 0

}

我运行没问题。

#define N 100

main()

{

int sum, set, i, j, max, check[100]

int volume[N]={8,3,12,7,9,7}, n=6,_n, v=24

/*scanf("%d", &v)

scanf("%d", &n)

for (i=1i<=ni++)

scanf("%d", &volume[i])

max=0

*/

set=1

for (i=1i<=ni++)

set*=2//计算2的N次方。

for (i=0i<=seti++)

{

for (j=1j<=nj++)

check[j]=0 //清空数组

j=i

sum=1

while (j>=1)//把数据转换成二进制数制(1代表取,0代表不取)

{

check[sum]=j%2

j/=2

sum++

}

sum=0//计算该方案占用的体积

for (j=1j<=nj++)

if (check[j]==1)

sum+=volume[j]

if ((sum<=v)&&(sum>=max)) //根据题意作比较

max=sum

}

printf("%d",v-max) //输出剩余体积。

system("pause")

}

我确实运行没问题。OK,0