|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 一个自然数问题,新手小白求解答
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
3021
人关注过本帖
标题:
一个自然数问题,新手小白求解答
只看楼主
加入收藏
吹水佬
等 级:
版主
威 望:
451
帖 子:10607
专家分:43186
注 册:2014-5-20
第
11
楼
收藏
得分:0
回复 8楼 wmf2014
“最优”就不敢说了,能更优些就好了。
2016-06-05 07:59
举报帖子
使用道具
赠送鲜花
wmf2014
等 级:
贵宾
威 望:
216
帖 子:2039
专家分:11273
注 册:2014-12-6
第
12
楼
收藏
得分:0
回复 10楼 吹水佬
这样啊,记下所有最高的耗时应该忽略不计吧。其实我们找因数的方法差不多,都是到sqrt(n)循环,只是我只做偶数的判断,不用申请堆,加快了速度。
我觉得还是要用数学的方法,看我在9楼的补充分析,不知道能不能有启发。
能编个毛线衣吗?
2016-06-05 08:20
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10607
专家分:43186
注 册:2014-5-20
第
13
楼
收藏
得分:0
回复 12楼 wmf2014
用数学方法理论上是更科学更高效。
但要考虑的是:数学的理论式子直接在计算机是否有可操作性?也许先做成可能出现的因式模型,再发挥计算机的逻辑判断运算能力,不知可否?
2016-06-05 08:37
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10607
专家分:43186
注 册:2014-5-20
第
14
楼
收藏
得分:0
上面用到的复杂度为O(sqrt(n))算法,也算是数学方法。
数学理论证明过程:
假设:
x 为正整数
m 为正整数
使得 x * m = n
且 x > sqrt(n)
则 1 <= m <= sqrt(n)
否则 x * m > sqrt(n) * sqrt(n) = n 与 x * m = n 矛盾
即,如果存在两个正整数 x、m,使得 x * m = n,就 x、m 中必有一个在 [1, sqrt(n)]中。
2016-06-05 08:50
举报帖子
使用道具
赠送鲜花
灰小机
来 自:月亮
等 级:
论坛游民
威 望:
1
帖 子:28
专家分:42
注 册:2016-6-5
第
15
楼
收藏
得分:0
差不多大的偶数好像都比奇数的因子多,1,2除外
2016-06-05 13:18
举报帖子
使用道具
赠送鲜花
15
2/2页
1
2
快速回复:
一个自然数问题,新手小白求解答
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.028402 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved