免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: liuke432
打印 上一主题 下一主题

[C] 一道算法题,求最优解法? [复制链接]

论坛徽章:
29
戌狗
日期:2013-11-14 09:53:052016科比退役纪念章
日期:2016-07-12 18:29:4415-16赛季CBA联赛之新疆
日期:2016-11-07 13:15:0015-16赛季CBA联赛之辽宁
日期:2017-01-18 10:23:5115-16赛季CBA联赛之吉林
日期:2017-05-02 14:02:2319周年集字徽章-年
日期:2020-01-15 13:50:582016科比退役纪念章
日期:2021-06-03 14:15:3115-16赛季CBA联赛之山东
日期:2021-06-21 17:30:5615-16赛季CBA联赛之江苏
日期:2021-06-22 16:42:2015-16赛季CBA联赛之深圳
日期:2021-12-21 15:54:0215-16赛季CBA联赛之佛山
日期:2022-04-08 09:43:5715-16赛季CBA联赛之广东
日期:2022-06-29 19:59:19
1 [报告]
发表于 2008-04-17 15:02 |显示全部楼层
有两个意见
1 第一层循环中I的值不用到N,最大到N除以2的平方根(取整)就可以了,因为再大的话, I^2 + (I+1)^2就大于N^2了;
2 一个循环就可以, 可以在这次循环中对I^2+(I+1)^2的值,进行检查,如果值小于N并且是一个整数的平方数就输出I

[ 本帖最后由 wxycyel 于 2008-4-17 16:18 编辑 ]

论坛徽章:
29
戌狗
日期:2013-11-14 09:53:052016科比退役纪念章
日期:2016-07-12 18:29:4415-16赛季CBA联赛之新疆
日期:2016-11-07 13:15:0015-16赛季CBA联赛之辽宁
日期:2017-01-18 10:23:5115-16赛季CBA联赛之吉林
日期:2017-05-02 14:02:2319周年集字徽章-年
日期:2020-01-15 13:50:582016科比退役纪念章
日期:2021-06-03 14:15:3115-16赛季CBA联赛之山东
日期:2021-06-21 17:30:5615-16赛季CBA联赛之江苏
日期:2021-06-22 16:42:2015-16赛季CBA联赛之深圳
日期:2021-12-21 15:54:0215-16赛季CBA联赛之佛山
日期:2022-04-08 09:43:5715-16赛季CBA联赛之广东
日期:2022-06-29 19:59:19
2 [报告]
发表于 2008-04-17 15:18 |显示全部楼层

回复 #11 liuke432 的帖子

可以不用循环,标准math库中应该有求平方根的函数(你最好查一下,我也不是很清楚),改造一下应该可以用的.
判断小于N是我对I的最后一个值等到的结果是否一定小于N没有把握,如果可以肯定小于的话可以不比较.

论坛徽章:
29
戌狗
日期:2013-11-14 09:53:052016科比退役纪念章
日期:2016-07-12 18:29:4415-16赛季CBA联赛之新疆
日期:2016-11-07 13:15:0015-16赛季CBA联赛之辽宁
日期:2017-01-18 10:23:5115-16赛季CBA联赛之吉林
日期:2017-05-02 14:02:2319周年集字徽章-年
日期:2020-01-15 13:50:582016科比退役纪念章
日期:2021-06-03 14:15:3115-16赛季CBA联赛之山东
日期:2021-06-21 17:30:5615-16赛季CBA联赛之江苏
日期:2021-06-22 16:42:2015-16赛季CBA联赛之深圳
日期:2021-12-21 15:54:0215-16赛季CBA联赛之佛山
日期:2022-04-08 09:43:5715-16赛季CBA联赛之广东
日期:2022-06-29 19:59:19
3 [报告]
发表于 2008-04-17 16:18 |显示全部楼层

回复 #18 scutan 的帖子

tmp的值取得有问题,应该是 N/sqrt(2);

论坛徽章:
29
戌狗
日期:2013-11-14 09:53:052016科比退役纪念章
日期:2016-07-12 18:29:4415-16赛季CBA联赛之新疆
日期:2016-11-07 13:15:0015-16赛季CBA联赛之辽宁
日期:2017-01-18 10:23:5115-16赛季CBA联赛之吉林
日期:2017-05-02 14:02:2319周年集字徽章-年
日期:2020-01-15 13:50:582016科比退役纪念章
日期:2021-06-03 14:15:3115-16赛季CBA联赛之山东
日期:2021-06-21 17:30:5615-16赛季CBA联赛之江苏
日期:2021-06-22 16:42:2015-16赛季CBA联赛之深圳
日期:2021-12-21 15:54:0215-16赛季CBA联赛之佛山
日期:2022-04-08 09:43:5715-16赛季CBA联赛之广东
日期:2022-06-29 19:59:19
4 [报告]
发表于 2008-04-17 17:04 |显示全部楼层

回复 #22 ypxing 的帖子

命题成立的话也应该是O(N)的算法.

论坛徽章:
29
戌狗
日期:2013-11-14 09:53:052016科比退役纪念章
日期:2016-07-12 18:29:4415-16赛季CBA联赛之新疆
日期:2016-11-07 13:15:0015-16赛季CBA联赛之辽宁
日期:2017-01-18 10:23:5115-16赛季CBA联赛之吉林
日期:2017-05-02 14:02:2319周年集字徽章-年
日期:2020-01-15 13:50:582016科比退役纪念章
日期:2021-06-03 14:15:3115-16赛季CBA联赛之山东
日期:2021-06-21 17:30:5615-16赛季CBA联赛之江苏
日期:2021-06-22 16:42:2015-16赛季CBA联赛之深圳
日期:2021-12-21 15:54:0215-16赛季CBA联赛之佛山
日期:2022-04-08 09:43:5715-16赛季CBA联赛之广东
日期:2022-06-29 19:59:19
5 [报告]
发表于 2008-04-23 09:39 |显示全部楼层

回复 #32 hot_ice 的帖子

这也只是猜测,并没有给出证明来.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP