我想编写一个java程序来查找小于或等于给定数字的最大平方数。
例如,当我插入
10
作为输入的号码时,答案为9
,因为9
是最大的广场,最多为10
我理解循环,但我无法弄清楚这一循环背后的逻辑。
答案 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
的平方根(n
到1
是否为perfect square
。如果是,则breaks
为loop
,并在屏幕上显示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);
}