PerfectSquares.java
一个数的方根,等于这个数,例如81,等于8+1=9,这个数的方根等于9
package math;/*** 81 = 9 × 9 8 + 1 = 9* 2025 = 45 × 45 20 + 25 = 45* 3025 = 55 × 55 30 + 25 = 55* 9801 = 99 × 99 98 + 01 = 99* 494209 = 703 × 703 494 + 209 = 703* 998001 = 999 × 999 998 + 001 = 999* * 数学中的为数不多的巧合* * @author ZengWenfeng* @mobile 13805029595* @email 117791303@qq.com*/
public class PerfectSquares
{public static void main(String[] args){// 100万的平方根是1000,所以只需要检查到1000的平方int max = 1000000;int maxRoot = (int) Math.sqrt(max);System.out.println("从1到" + max + "之间,开方结果为正整数的数有:");int square = 0;String s;String s1;String s2;for (int i = 1; i <= maxRoot; i++){square = i * i;System.out.print(square + " = " + i + " × " + i);s = new Integer(square).toString();if (s.length() % 2 == 0){s1 = s.substring(0, s.length() / 2);s2 = s.substring(s.length() / 2);// System.out.println(" " + s1 + " " + s2);if (Integer.parseInt(s1) + Integer.parseInt(s2) == i){System.out.println(" " + s1 + " + " + s2 + " = " + i);}else{System.out.println();}}else{System.out.println();}}}
}