原文在这里:http://www.interviewstreet.com/recruit/challenges/solve/4e1491425cf10/4e14a0058572a/,需要gmail账户登录。是今天一个朋友来访告诉我的(小子我很孤陋寡闻……)。

  懒得看英文的看此处,题目要求是有公式 1/x + 1/y = 1/N!,x,y都是正整数,1 <= N <= 10^6 ,求满足条件的(x, y)个数。

  公式可以化为:y * (N! / x) + N! = y,所以y > N!,而且由于x,y对称,所以x > N!

  由原来公式可以知道(2N!, 2N!)是肯定存在的一对,而且x,y对称,那么如果x落在区间(N!, 2N!),y必然落在区间(2N!, +∞)。

  有了上面的推断,容我有空再想想应该怎么算吧,这哪里是算法题?分明是数学题么。实际是求函数1/x + 1/y = 1/N!在图像上和整数的交点。

  经过继续推导,就可以得到解法,见本文的(中):

http://hi.baidu.com/%E6%99%A8%E6%B1%A0/blog/item/74cbac11353565dda6ef3f68.html

[原文在百度空间已经关闭]