每日一题3.一个整数,加上100后是一个完全平方数,加上168之后又是一个完全平方数,求这个整数
思路
1.设这个数是n,由题知
n+100=x*x
n+100+168=y*y(取x,y为正数) 且n>=-1002.x*x+168=y*y
3.y*y-x*x=168
4.(y+x)(y-x)=168
5.y+x<=168(如果选y-x无法确定上限)
6.y<=168代入1.中的第二个式子得n<=27956(代入1.中第一个式子n会大一点)
#include <stdio.h>
#include <math.h>
void main()
{
float x,y;
int n;
for(n=-100;n<=27956;n++)
{
x=sqrt((float)100+n);
y=sqrt((float)100+168+n);
if(100+n==x*x&&268+n==y*y)
printf("%d\t",n);
}
}
浙公网安备 33010602011771号