Marcccccy 发表于 2020-5-6 20:09:01

穷举法求解方程

这个是题目:
统计满足条件x*x+y*y+z*z=2000的所有解的个数,(注意:若a,b,c是1个解,则a,c,b也是1个解,等等),并将统计结果以格式"%d"输出。
然后是代码:
#include<stdio.h>
int main()
{
        int x,y,z,k=0;
        for(x=-45;x<45;x++)
                for(y=-45;y<45;y++)
                        for(z=-45;z<45;z++)
                                if(x*x+y*y+z*z==2000)
                                        k++;
        printf("%d",k);
        return 0;
}
请问x,y,z的范围是,怎么求出来的呀……突然就想不明白了{:10_255:}

zltzlt 发表于 2020-5-6 20:09:59

为了保险你也可以范围设大点呀

THU_LSM 发表于 2020-5-6 20:10:43

45x45=2025, ,x*x, y*y, z*z 都是正整数,所以x y z 绝对值不能超过45

Marcccccy 发表于 2020-5-6 20:46:31

THU_LSM 发表于 2020-5-6 20:10
45x45=2025, ,x*x, y*y, z*z 都是正整数,所以x y z 绝对值不能超过45

欸,都是正整数嘛?!

Marcccccy 发表于 2020-5-6 20:48:49

zltzlt 发表于 2020-5-6 20:09
为了保险你也可以范围设大点呀

嗯嗯!就 答案是这么写的,我小学数学不过关的脑子 就 没绕过来{:10_255:}

THU_LSM 发表于 2020-5-6 21:01:55

Marcccccy 发表于 2020-5-6 20:46
欸,都是正整数嘛?!

任何数的平方 都是正的啊........
要是x y z 有一个绝对值超过了45 那这三个平方和就肯定超过2000了啊

Marcccccy 发表于 2020-5-6 21:03:00

THU_LSM 发表于 2020-5-6 21:01
任何数的平方 都是正的啊........
要是x y z 有一个绝对值超过了45 那这三个平方和就肯定超过2000了啊

啊……不好意思……我眼瞎没看到平方{:10_284:}

THU_LSM 发表于 2020-5-6 22:03:57

Marcccccy 发表于 2020-5-6 21:03
啊……不好意思……我眼瞎没看到平方

哈哈哈哈哈哈,快带上眼镜

Marcccccy 发表于 2020-5-8 19:43:27

THU_LSM 发表于 2020-5-6 22:03
哈哈哈哈哈哈,快带上眼镜

{:10_250:}
页: [1]
查看完整版本: 穷举法求解方程