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

Posted parkour1026

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 */

 

以上是关于Java50道经典习题-程序13 根据条件求数字的主要内容,如果未能解决你的问题,请参考以下文章

Java50道经典习题-程序11 求不重复数字

JAVA 基础编程练习题13 程序 13 根据条件求数字

Java50道经典习题-程序21 求阶乘

Java基础50道经典练习题(21)——求阶乘

Java基础50道经典练习题(21)——求阶乘

Java50道经典习题-程序22 递归求阶乘