首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

一 2 5组合100,有多少种方法

2013-10-13 
1 2 5组合100,有多少种方法问题描述:用随意多个1 2 5三个数字的组合,使其为100,有多少种组合方法?基础解法

1 2 5组合100,有多少种方法

问题描述:用随意多个1 2 5三个数字的组合,使其值为100,有多少种组合方法?

基础解法:穷举法,1穷举100次,2穷举50次,5穷举20次,这种方法总共穷举的次数为100*50*20=100 000,性能太差,但是为了以后描述问题,先给出穷举法的代码:

for(int i = 0; i <= 100; i += 5){     count += (100 - i + 2) / 2; //其也可以写成count += ((100 - i) / 2 + 1)}

其实通过这个小的编程题的一步步优化,我们已经在使用动态规划的思想了,其思想的核心就是剪去一些不必要的计算,在进阶解法中,我剪掉了不必要的循环次数,在进一步优化中我们剪掉了1的循环,最优解法中我们将对2的循环也剪掉了,形成了最好的解决办法。

热点排行