level 1
码字骷髅
楼主
汗...偶是菜鸟....请各位勿扔砖...
做了一些数论方面的求最大数,或最大和,或最大积,或最优化结果这样题目,从来习惯是循环递增。但忽然今天有所醒悟,如果要求的最大化或最优化结果是随着数字递增而出现的,不如用循环递减,这样可以省了声明一些额外用来储存临时最大或最优值的变量,也减少了循环的次数,最重要的,省了“检验最大”的那部分代码。
举个很简单的例子,像求两个三位数之积刚好是一个回文积数(如80008,81218,63336),其最大的回文积数是什么?一般我们都习惯是从100开始循到999,但这样就要引入了临时储存变量,也要引入检验最大:“如果出现数字大过临时储存量,则代替它”这个环节,但如果我们是从递减的循环完成这个程序的话,就可以连这个环节也省了...
偶觉得如果像偶一样刚入门的菜鸟,都很习惯去循环递增暴力筛值,所以,很多时候试试循环递减,会省却很多功夫....
2011年01月08日 12点01分
1
做了一些数论方面的求最大数,或最大和,或最大积,或最优化结果这样题目,从来习惯是循环递增。但忽然今天有所醒悟,如果要求的最大化或最优化结果是随着数字递增而出现的,不如用循环递减,这样可以省了声明一些额外用来储存临时最大或最优值的变量,也减少了循环的次数,最重要的,省了“检验最大”的那部分代码。
举个很简单的例子,像求两个三位数之积刚好是一个回文积数(如80008,81218,63336),其最大的回文积数是什么?一般我们都习惯是从100开始循到999,但这样就要引入了临时储存变量,也要引入检验最大:“如果出现数字大过临时储存量,则代替它”这个环节,但如果我们是从递减的循环完成这个程序的话,就可以连这个环节也省了...
偶觉得如果像偶一样刚入门的菜鸟,都很习惯去循环递增暴力筛值,所以,很多时候试试循环递减,会省却很多功夫....