鱼C论坛

 找回密码
 立即注册
查看: 4076|回复: 5

[技术交流] 原创代码,没看答案前写的,请指教

[复制链接]
发表于 2011-7-25 11:57:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
     一个整数,加上100为完全平方数,再加上168也为完全平方数,求100000以内的这些数,我的代码如下:

  1. #include <stdio.h>
  2. #include <math.h>
  3. void main()
  4. {
  5. int a;
  6. float b,c;
  7. for (a=0;a<=100000;a++)
  8. {
  9. b = sqrt(a+100);
  10. c = (int)(b);


  11. if (b !=c)
  12. {
  13. ;
  14. }
  15. else
  16. {
  17. b = sqrt(a + 268);
  18. c = (int)(b);
  19. if(b!=c)
  20. {
  21. ;
  22. }
  23. else
  24. {
  25. printf("%d\n",a);
  26. }

  27. }
  28. }


  29. }
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-25 12:21:55 | 显示全部楼层
不对你的算法作什么修改了,那是算法版的事情,主要是要把是否平方数的功能作成函数。
  1. #include<stdio.h>
  2. #include<math.h>

  3. int isPerfectSquare(int value);
  4. int main(){
  5.         int i;
  6.         for(i=0;i<100000;++i)
  7.                 if( isPerfectSquare(i+100)&& isPerfectSquare(i+168) )
  8.                         printf("%d\n",i);
  9. }

  10. int isPerfectSquare(int value){
  11.         int s = sqrt(value);
  12.         return value == s*s;
  13. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-25 17:13:45 | 显示全部楼层

貌似你的代码有问题,我运行了一下你的代码,发现得到的结果只有一个  156,这好像有问题吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-25 20:38:15 | 显示全部楼层
LZ的程序把题中的168写为268了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-7-2 22:40:20 | 显示全部楼层
看帖就要回帖支持下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-2 23:21:09 | 显示全部楼层
看看,支持下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-4 19:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表