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

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

就是这道题,谢谢啦!
...全文
60 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧