有空的高手近来看看这样一道算法题?谢谢

stone565 2003-12-12 10:35:31
现在500个苹果,装入若干个箱子。要求:如果要取1至500个苹果中的任意数,你能否用整数个箱子里的苹果凑起取出,问如何装?
(例如:要取199个苹果,你用整数个箱子凑出来)。

就是这道题,谢谢啦!
...全文
32 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
insect 2003-12-12
一箱一个最简单!
  • 打赏
  • 举报
回复
flyforlove 2003-12-12
可以试试从前面向后推,
球数 箱子数
1 1
//1
2 2
3 2
//2
4 3
5 3
6 3
7 3
//4
8 4
... ...
15 4
//8
... ...

//16
球数就是从开始的箱子说相加1+2+4+8。。。。
这样的话,也就是等比数列相加。
得2的n次方-1<500,求n的最大值,再加1就可以了。
算出来是

最少用 9 个箱子




  • 打赏
  • 举报
回复
yjingz 2003-12-12
箱1,2: 1个 (2x1=2)
箱3,4,5,6: 2个(4x2=8)
箱7,8: 5个 (2x5=10)
箱9,10: 10个 (2x10=20)
箱11,12,13: 20个 (3x20=60)
箱14,15: 50个 (2x50=100)
箱16,17,18: 100个 (3x100=300)

共18个箱子 算法嘛..... :)
  • 打赏
  • 举报
回复
cll007 2003-12-12
最小箱子数m可以计算出来的:
2^(m-1)<苹果数目<=2^(m)
  • 打赏
  • 举报
回复
cll007 2003-12-12
最小箱子树木m可以计算出来的:
2^(m-1)<苹果数目<=2^(m)
  • 打赏
  • 举报
回复
cll007 2003-12-12
每个箱子放的苹果数目就是2的n次方:
第一个箱子:1个;
第二个箱子:2个;;
第N个箱子:2^n个;
最后一个:放剩下的500-(前面n个箱子中苹果的和)
取的时候就是自己组合箱子吧吧
  • 打赏
  • 举报
回复
天狼皓月 2003-12-12
500 个
  • 打赏
  • 举报
回复
chinajavis 2003-12-12
有意思,首先分成多少个箱子(1-500)是个未知数,然后分入m个箱子装时的装法又有很多个
不知道该怎么分配了,数学不好,呵呵
题目应该问最少要多少箱子才行
  • 打赏
  • 举报
回复
swayi21 2003-12-12
500个箱子,哈哈!
  • 打赏
  • 举报
回复
lgqTiger 2003-12-12
哈哈!500个
  • 打赏
  • 举报
回复
cll007 2003-12-12
楼主的问题其实不完整
应该加个条件:用最少的箱子装
  • 打赏
  • 举报
回复
chinajavis 2003-12-12
1,2,4,8,16,32,64,128,245
  • 打赏
  • 举报
回复
相关推荐
发帖
Delphi
加入

5070

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2003-12-12 10:35
社区公告
暂无公告