回 帖 发 新 帖 刷新版面

主题:简单的pascal题目,赠送50分大礼,来了就有分,为啥没人回答

[size=4]请找出
2305843008139952128
的所有因子,要求在5分钟内出结果。[/size]

回复列表 (共10个回复)

沙发

这还简单

板凳

我认为很难,你们应该认为很容易吧!

3 楼


[em18]算法:高精度除法与穷举

4 楼

运行结果,
超时
超时
超时
超时
超时
0分

5 楼

5分钟内

6 楼

这根本不用5分钟啦,简直就是一瞬间的事儿。
给你一个思路:
先求其质因子,并统计其质因子个数。
之后将这些质因子做组合乘:)

规模:
设数的大小是小于2的63次方的,那么其质因子个数必然少于63个。

7 楼

另,用64位整型,CPU支持的:)

8 楼

此数还非常特殊,它是(2**30)*2147483647。
所以计算速度简直快得没法儿说:)
我先不给你太细节方面的东西,自己先想想,想不出来我再跟你说说:)

9 楼

之后将这些质因子做组合乘:)
组合乘是什么意思?

10 楼

求出因子的组合,并将组合中的数相乘:)

我来回复

您尚未登录,请登录后再回复。点此登录或注册