数论水题
换算式子得
n=(y-x)(y+x)
y - x = i
y + x = n / i
x = ( n / i - i) / 2
然后就可以啦~
#include <stdio.h>
#include <math.h>
int main() {
int T;
scanf("%d",&T);
while(T--) {
int n;
scanf("%d",&n);
int i;
for(i=sqrt(n*1.0);i>0;--i)
if(n%i==0 && (n/i-i)%2==0 && n/i!=i){
printf("%d\n",(n/i-i)/2);
break;
}
if(i==0) printf("-1\n");
}
return 0;
}