“百钱买鸡”最优解
发表于 : 2009-01-10 0:47
“百钱买鸡问题”出自公元前五世纪中国数学家张丘建的《算经》:公鸡每只五元,母鸡每只三元,而鸡仔每只一元。用一百元买一百只鸡,公鸡、母鸡和鸡仔(cocks, hens,chicks)各有多少只呢?
明显地,上面是最简单的方法,O(19*31*91)。现求最优解,请各位动手动脑
代码: 全选
# c
int cocks, hens, chicks;
for ( cocks = 1; cocks < 20; cocks ++ )
for ( hens = 1; hens < 32; hens ++ )
for ( chicks = 1; chicks < 92; chicks ++ )
if (cocks * 5 + hens * 3 + chicks * 1 == 100)
printf( "%2d, %2d, %3d \n", cocks, hens, chicks );
代码: 全选
# python
for cocks in range(1, 20):
for hens in range(1, 32):
for chicks in range(1, 92):
if cocks * 5 + hens * 3 + chicks * 1 == 100:
print "%2d, %2d, %3d" % (cocks, hens, chicks)