-6

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

例如,当我10作为输入的数字插入时,答案是9因为9是最大的平方10

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

4

3 回答 3

2

像下面这样的东西如何让你继续......

double x = 20;
double root = Math.sqrt(x);
int t = (int)root;
System.out.println("Root is:" + root + " and answer is :" + t*t);
于 2017-01-24T10:52:00.847 回答
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);
    }
于 2017-01-24T11:15:37.383 回答
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(您的号码)到1i然后,它检查 的平方根是否n为。如果是,则,并在屏幕上打印 的值。1perfect squarebreaksloopi

于 2017-01-24T11:00:25.500 回答