1219592786 发表于 2013-12-26 15:01:30

求完全平方数,不知错误在哪?

#include<stdio.h>
#include<math.h>
int main()
{
    long int i,x,y;
    i=1;
    if(i<100000)
    {
      x=sqrt(i+100);
      y=sqrt(i+168);
      if(x*x==i+100&&y*y==i+168)
      {
            printf("%ld\n",i);
      }
      else
      {
            i++;
      }
    }
}
实在不知错误在哪儿,还请大家帮忙指点指点!谢谢!!!!!!

1219592786 发表于 2013-12-26 15:02:32

题目是         一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果

musilintan 发表于 2013-12-26 16:59:56

#include<stdio.h>
#include<math.h>
int main()
{
    long int i,x,y;
    i=1;
    while(i<100000)
    {
      x=sqrt(i+100);
      y=sqrt(i+268);
      if(x*x==i+100 && y*y==i+268)
         printf("%ld\n",i);

                i++;
    }
}改成这样吧。你自己验证一下对不对,我这个算出来3个数。

pp641474412 发表于 2013-12-26 23:41:08

#include<stdio.h>
#include<math.h>
void main()
{
int a;
double b,c;
for(a=0;a<100000;a++)
{
   b=sqrt(a+100);
   c=sqrt(a+268);
   if((int)b==b && (int)c==c)
           printf("%d   ",a);
}
}
我这个代码也验证出来三个数,嘿嘿

天使之约 发表于 2013-12-26 23:51:29

路过,顶一下

dlzhwm 发表于 2013-12-27 01:29:36

1、main函数类型int无返回值不对。2、变量数据类型int与sqrt的double类型不对。if语句嵌套不对达不到循环。不知对你有帮助吗。:titter:
页: [1]
查看完整版本: 求完全平方数,不知错误在哪?