问题:假如你有1000个苹果,要装到10个箱子里。满足无论我管你要多少个苹果,你都可以整箱的给我。有解吗?如果有解,你会怎么装?
分析:
一)如果有人要1个,我就只能给1箱子,里面装1个。所以 1 = 1;
如果要2个,我给1个2;所以 2 = 2 ;
如果3个,…… 3=1+2;
4=4;5=1+4;6=2+4;……
100=64+32+8;……
1000=512+256+128+64+32+8。
所以 箱子的组合应该是 1,2,4,8,16 ,32,64,128,256,512。有解。
一般通式是m个箱子,能够最多表达 2^m-1个苹果。 如:10个箱子表达2^10-1=1023个苹果。
二)其实没有考虑箱子中苹果数可以重复的情况。如:
如果要2个,可以是1个2,也可以是2个1。即 2= 2 =1+1;
4=2+2=1+3=4;……
这样可能出现的情况就很多啦。解应该不唯一。
简化一下:10个苹果放到4个箱子里,结果是怎样的?
方案一: (1,2,4,3) 则:
1=1;
2=2;
3=1+2;
4=4;
5=1+4;
6=2+4;
7=1+2+4;
8=8;
9=1+8;
10=2+8;
使用次数分别是:1,1,2,1,2,2,3,1,2,2,
计数:共使用了 17 次。
方案二:(1,2,2,5) ,这是从RMB的面额中联想到的。则:
1=1;
2=2;
3=1+2;
4=2+2;
5=5;
6=1+5;
7=2+5;
8=1+2+5;
9=2+2+5;
10=1+2+2+5;
使用次数:1,1,2,2,1,2,2,3,3,4
计数:共使用了 21 次。
方案三:(1,1,3,5) 则:
1=1;
2=1+1;
3=3;
4=1+3;
5=5;
6=1+5;
7=1+1+5;
8=3+5;
9=1+3+5;
10=1+1+3+5;
计数:共使用了 21 次。
因此上述可以想到的三种方案中 ,第一种是最优的。
三)为什么RMB面额没有采用第一种方案?
猜测原因:
1.我们只试验了10个数据,需要更多的数据试验来求证。或者用公式来证明方案1是否是最优的。
2.币值计算是10进制。故此需要出现5和10的面额。
待求证!
补充:为什么RMB的面额中有2,但没有3?据说曾经出现过3的面额,但后来取消了。为什么?
网上一个解释:(来自http://gegegegeleo1977.spaces.live.com/blog/cns!c60da729a4e9116f!375.entry)
对存在2元面额而不是3元的解释
4 = 1 3 = 2 2
6 = 5 1 = 3 3
7 = 5 2 = 5 1 1 2 wins at this
8 = 5 2 1 = 5 3 3 wins at this
9 = 5 2 2 = 3 3 3
Further , 2 means stable and happiness .
四)程序验证。
……