karldonize 发表于 2019-2-13 18:18:48

请问我这个方法为什么算不出来,谢谢

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
/*#include<stdio.h>
void main()
{
        int a,b,j;
        for(int i=1;i<=100000;i++)
        {
                a=100;
                b=168;
                for( j=1;j<=i+a;j++)
                        if((j*j)==(i+a))
                                for(int k=0;k<=i+b;i++)
                                        if(i*i==(i+b))
                                                printf("%d ",i);
        }

}

910201513 发表于 2019-2-13 19:26:07

本帖最后由 910201513 于 2019-2-13 19:34 编辑

    for(int k=0;k<=i+b;i++)
    if(i*i==(i+b))
应该是k*k,k++吧
还有循环语句数大于1记得加大括号

910201513 发表于 2019-2-13 19:28:14

#include<stdio.h>

int main(void)
{
        int a, b, j;
        for (int i = 1; i > 0; i++)
        {
                a = 100;
                b = 168;
                for (j = 1; j <= i + a; j++)
                {
                        if ((j*j) == (i + a))
                                for (int k = 1; k <= i + b; k++)
                                        if (k*k == (i + b))
                                        {
                                                printf("%d ", i);
                                                return 0;
                                        }
                }
        }
}

910201513 发表于 2019-2-13 19:32:31

本帖最后由 910201513 于 2019-2-13 19:34 编辑

我把你的代码改了一下,目前应该可以完成你的预期目标,但是我觉得你没有完成该题,他说再加上168,我认为是i+100+168,你的代码实现的是i+168
你的代码算出来的结果是156
我理解的题目的相应代码的结果是21
望采纳
页: [1]
查看完整版本: 请问我这个方法为什么算不出来,谢谢