穷举法求解方程
这个是题目:统计满足条件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:} 为了保险你也可以范围设大点呀 45x45=2025, ,x*x, y*y, z*z 都是正整数,所以x y z 绝对值不能超过45 THU_LSM 发表于 2020-5-6 20:10
45x45=2025, ,x*x, y*y, z*z 都是正整数,所以x y z 绝对值不能超过45
欸,都是正整数嘛?! zltzlt 发表于 2020-5-6 20:09
为了保险你也可以范围设大点呀
嗯嗯!就 答案是这么写的,我小学数学不过关的脑子 就 没绕过来{:10_255:} Marcccccy 发表于 2020-5-6 20:46
欸,都是正整数嘛?!
任何数的平方 都是正的啊........
要是x y z 有一个绝对值超过了45 那这三个平方和就肯定超过2000了啊 THU_LSM 发表于 2020-5-6 21:01
任何数的平方 都是正的啊........
要是x y z 有一个绝对值超过了45 那这三个平方和就肯定超过2000了啊
啊……不好意思……我眼瞎没看到平方{:10_284:} Marcccccy 发表于 2020-5-6 21:03
啊……不好意思……我眼瞎没看到平方
哈哈哈哈哈哈,快带上眼镜 THU_LSM 发表于 2020-5-6 22:03
哈哈哈哈哈哈,快带上眼镜
{:10_250:}
页:
[1]