谢谢楼上的两位,我的问题基本上解决了,谢谢你们
n+100 = bb
则 (a+b)(a-b) = 2*2*17
a+b 和 a-b 要么都是奇数,要么都是偶数
所以 a+b=2*17,a-b=2
解得 a=18, b=16
代入 n+100 = bb 得到 n=156
如果用代码暴力求解怎么做?(别说用浮点数)
仍然是利用
n+168 = aa
n+100 = bb
程序代码:#include <stdio.h>
int main( void )
{
for( int a=13,b=10; ; ) // 13*13>=168,10*10>=100
{
int n1 = a*a - 168;
int n2 = b*b - 100;
if( n1 == n2 )
{
printf( "%d\n", n1 );
break;
}
if( n1 < n2 )
++a;
else
++b;
}
return 0;
}输出 156








