怎样把一个三位整数写成两个整数的平方和

来源:百度知道 编辑:UC知道 时间:2024/05/18 06:02:59
有道C语言的题目是要求编程输出能写成两个整数平方和的三位数。

这个应该只能试。
因为首先大多数三位数是不能写成平方和的。
能写成平方和的三位数并不多。
试的话工作量也不是很大。要是去找其它算法,也许还不如试的效果。

个人意见

编程的话就用穷举法就行了,对计算机来说,这计算量太小了。
for(n=100;n<1000;n++)
for(i=1;i<n/2;i++)
for(j=1;j<n/2;j++)
if(i*i+j*j==n) printf("%d=%d^2+%d^2 ",n,i,j)

临时想的,算法不一定合式,仅供参考

n/2可换成sqrt(n),不过这样的话不能把sqrt(n)放在循环语句中,要放在循环外,否则影响速度。