解题思路:(1)Math.sqrt()函数可以得到应该double类型的非负平方根,强制取整再+1
(2)对所有负数来说,最小的完全平方数都是0
注意事项:
参考代码:
import java.util.Scanner; public class Main7 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub /*输出大等于n的最小的完全平方数。 若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数*/ Scanner scanner=new Scanner(System.in); long a=scanner.nextLong(); double b=Math.sqrt(a); long c=0; if (a<=0) { c=0; }else if ((long)b*(long)b==a) { c=(long)b; }else { c=(long)b+1; } System.out.println(c*c); } }
0.0分
1 人评分
C二级辅导-温度转换 (C语言代码)浏览:2345 |
点我有惊喜!你懂得!浏览:1222 |
点我有惊喜!你懂得!浏览:2708 |
简单的a+b (C语言代码)浏览:723 |
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:998 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:569 |
川哥的吩咐 (C++代码)浏览:1016 |
【计算两点间的距离】 (C语言代码)浏览:884 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1044 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:781 |