Java50道经典习题-程序13 根据条件求数字

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
分析:完全平方数:如果一个数能是由两个相同的数相乘的结果,那么这个数就是完全平方数,例如:9==3*3;9就是完全平方数。在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

 1 public class Prog13 {
 2     public static void main(String[] args) {
 3         int n=0;
 4         for(int i=0;i<100001;i++) {
 5             if(isCompSqrt(i+100)&&isCompSqrt(i+268)) {
 6                 n=i;
 7                 break;
 8             }
 9         }
10         System.out.println("所求的数是:"+n);
11     }
12     //判断完全平方数
13     private static boolean isCompSqrt(int n) {
14         boolean isCompSqrt=false;
15         for(int i=1;i<Math.sqrt(n)+1;i++) {
16             if(n==Math.pow(i, 2)) {
17                 isCompSqrt=true;
18                 break;
19             }
20         }
21         return isCompSqrt;
22     }
23 }
24 /*运行结果
25 所求的数是:21
26 */
原文地址:https://www.cnblogs.com/parkour1026/p/10796832.html