“码农”的得力工具--math

Code Farmer” 从一个博主那里看到,就引用过来了。

算法是程序的灵魂,更是衡量一个程序员水平高低的最好标尺”相信这句话大家都很赞同吧。算法,多么魅力的一个字眼,多少码农为之痴狂!可是,最近有一种感觉越来越强烈:最优的算法是用数学思维设计出来的。码农们,悲剧了。。

举个例子:一个整数加上100是一个完全平方数,加上168后是另一个完全平方数。请你利用计算机把这个或这些数求出来。

分析:可以肯定的是(而且我百度了一下,确实如此),相当一部分人采用枚举的思路,同时还要给数设定一个上限(计算机最怕的就是看不到终点),这样会不会产生一个疑问:后面枚举不到的数中会不会还有满足条件的数呢?有可能。但是,计算机永远无法穷尽数。所以,只能给个不完全的答案。

how abt this:

题目的意思不就是 两个不同的完全平方数差68吗。不妨设这两个完全平方数为x2  Y2. (X>Y)

  X2-Y2=68 更进一步,(X+Y)(X-Y)=68且X+Y  和 X-Y都为整数。

  68=2*2*17.  显然,X+Y>X-Y.   X+Y只能取 2*17 或者 2*2*17

      1.  X+Y=34  X-Y=2 X=18 Y=16

  2.  X+Y=68  X-Y=1 无解。

  所以,要求的数只有一个,且为:16^2-100=156.

  over.

怎么样,是否跟我有同感呢?

                                (厚道做人,转载不忘原作者)

posted @ 2012-05-05 19:58  Tup  阅读(220)  评论(0编辑  收藏  举报