解一道算法题 (上)
[分类:
编程
]
[ 标签:
]
原文在这里: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
[原文在百度空间已经关闭]
标签集合/Tag clouds
C++
Symbain
轻松汇编
算法
论文学习
资治通鉴
Delphi
编程之美
Poco
MFC
Linux
IFC
知乎
汇编
数据分析
交叉编译
poco
j2me
android
XML
Java
DTD
飞信
零宽断言
诺基亚
联系人
编程
真值表
池西木
正则表达式
多线程
命令行
优化
stream
configure
cmake
VIM
UiAutomator
TDD
Symbian
Sqlite
SourceInsight
Python
MPAndroidChart
Kotlin
Flutter
Dokka
Chatgpt