题目:
方程整数解
方程: a^2 + b^2 + c^2 = 1000
(或参见【图1.jpg】)(图略)
这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。
你能算出另一组合适的解吗?
请填写该解中最小的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
思路:
很简单,就是a,b,c暴力循环,一个个试,但是注意是整数,包括负数,答案不唯一。
代码:
<span style="font-size:18px;">#include<iostream> using namespace std; int main() { int a=0,b=0,c=0; for(a=-99;a<=99;a++)//注意负数也是可以的 { for(b=-99;b<=99;b++) { for(c=-99;c<=99;c++) { if(a*a+b*b+c*c==1000&&a<=b&&b<=c)//限制输出条件a小于等于b小于等于c,防止出现重复。 { cout<<a<<' '<<b<<' '<<c<<endl; } } } } return 0; }</span>
运行结果:
填空题,不用写恒严格的代码,最后结果选一组解中的最小值填进去即可。
心路历程:
水题,但是当时这道题有点问题,当时没有考虑为负的情况,虽说答案是对的(任选一组解中最小即可),但是还是要细心,注意整数是包括负整数的。(第一次感受到蓝桥是如何扣细节的)。