解一道算法题(中)(兼庆祝一下访问量超过十五万)
[分类:
编程
]
[ 标签:
]
接“解一道算法题(上)”。
我们可以进入如下推导:
令x ∈(N!, 2*N!),假设x = N! + z,那么有z∈(0, N!),可以把原式转换成如下形式:
1/(N! + z) + 1/y = 1/N!
可以进一步转换为:
y = (N! * N!) / z + N!
到这一步,就很明了了,z是任意一个能被N! * N!整除的数。求N! * N!所有能整除的数字么,就是1 - N共N个数字,每数字有两个的情况下,2N个数字的排列组合了,这个排列组合,还要小于2 * N!,那么这个问题的时间复杂度应该是穷举算法能够解决的问题了。比如,令N=3,那么可以求出z能够取的值是3! * 3!能整除的数字而且小于2 * 3!,就是36所有能整除的数字而且小于12,但是包括{1, 2, 3, 4, 6, 9, 12},对于的(x, y)就是{(7, 42), (8, 24), (9, 18), (12, 12)}。具体的代码,容我有空再给出(这个代码已经不重要了吧?)
累计访问量终于超过十五万了,谢谢大家!和那些名博还是很有差距啊,我累计好几年的访问量,也就是人家一天的量,差距啊……不过我也不打算弥补这个差距了,老天爷估计也没计划让我弥补这个差距。
[原文在百度空间已经关闭]
标签集合/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