解题思路:(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 人评分
P1001 (C语言代码)浏览:798 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:873 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:546 |
字符逆序 (C语言代码)浏览:608 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:819 |
A+B for Input-Output Practice (VI) (C语言代码)浏览:552 |
简单的a+b (C语言代码)浏览:543 |
1051(奇了怪了)浏览:645 |
交换Easy (C语言代码)浏览:759 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:484 |