//一个整数,它加上100后是一个完全平方数,
//再加上168又是一个完全平方数,请问该数是多少?
import java.util.*;
public class Test8{
	public static void main(String[] args){
		/*
		可以用数学办法算出来
		x+100=a*a  .....1
		x+168=b*b  .....2
		2-1:
		68=(b+a)(b-a)
		因为68=68*1=34*2=17*4
		又因为b+a b-a奇偶性相同
		所以b+a=34 b-a=2 所以a=16
		所以x=156
		*/
		int x=-1;//存放未知数x;
		int cha=68;//存放差值
		int a=-1;//存放a的值
		for(int i=0;i<(getYinshu(cha).size()+1)/2;i++){
			//获取等于差值的俩因数
			int zuo=getYinshu(cha).get(i);
			int you=getYinshu(cha).get(getYinshu(cha).size()-1-i);
			//因数奇偶性相同
			if(isEqual(zuo,you)){
				a=(you-zuo)/2;
				x=a*a-100;
				break;
			}
			
		}
			
		System.out.println("一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?\n该数为:"+x);
		
	}
	
	//判断两个数奇偶性是否相同的函数
	public static boolean isEqual(int a,int b){
		return (a%2-b%2)==0;
	}
	
	//获取某个整数的所有因数
	public static ArrayList<Integer> getYinshu(int n){
		ArrayList<Integer> yinshu=new ArrayList<Integer>();
		for(int i=1;i<=n;i++){
			if(n%i==0)
				yinshu.add(i);
		}
		return yinshu;
	}
}