每日一题3.一个整数,加上100后是一个完全平方数,加上168之后又是一个完全平方数,求这个整数

思路

1.设这个数是n,由题知

    n+100=x*x

    n+100+168=y*y(取x,y为正数)
    且n>=-100

2.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);
}
}

 

posted @ 2022-04-18 21:33  冬123  阅读(92)  评论(0)    收藏  举报