package com.share.test11_20; /** * 【程序13题目:
* 完全平方即用一个整数乘以自己例如1*1,2*2,3*3等,依此类推。
* 若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。
* 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? * * @author brx */ public class Test13 { public static void main(String[] args) { test1(); } /** * 思路1:
* 用数学思维来分解问题为平方差公式,再用计算机的穷举循环判断
* 这种方法的优点是能够将所有的整数都找出来,而不用担心穷举的范围不够
* x+100=y*y
* x+100+168=z*z
* y*y+168=z*z
* (z+y)(z-y)=168
* 找出z和y就能够求出x,将168分解出两个因数,
* 然后判断这连个因数之和除以2因数之差除以2分别是不是整数
* 【注意:】
* 将循环控制次数中的168该为13可以去掉重复出现的情况,因为两数相乘的中间就是平方,
* 找出离168最近但又比168的平方数169的平方根13 */ public static void test() { for (int i = 1; i