在Java中查找小于给定数字的最大平方

时间:2017-01-24 10:43:50

标签: java math.sqrt

我想编写一个java程序来查找小于或等于给定数字的最大平方数

  

例如,当我插入10作为输入的号码时,答案为9,因为9最大的广场,最多为10

我理解循环,但我无法弄清楚这一循环背后的逻辑。

3 个答案:

答案 0 :(得分:2)

如何使用以下内容让你前进...

double x = 20;
double root = Math.sqrt(x);
int t = (int)root;
System.out.println("Root is:" + root + " and answer is :" + t*t);

答案 1 :(得分:0)

以下是使用循环

的方法
int n=10; //This is your Number
int i = 0;
for(i=n;i>=1;i--)
    if((int)Math.sqrt(i)*(int)Math.sqrt(i)==i)
        break;
System.out.println(i);

以下是它的工作原理: -

循环从n(您的号码)运行到1。然后检查i的平方根(n1是否为perfect square。如果是,则breaksloop,并在屏幕上显示i的值。

答案 2 :(得分:0)

    public static void main(String argv[]){
        System.out.println(largestSquareLessOrEqualTo(145)); 
    } 

    public static int largestSquareLessOrEqualTo(int limit){
    int i = 0;
        for (; i <(int)Math.sqrt(limit); i++){
        }
        return(i*i);
    }