资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
输出大等于n的最小的完全平方数。
若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数
Tips:注意数据范围
输入格式
一个整数n
输出格式
大等于n的最小的完全平方数
样例输入
71711
样例输出
71824
数据规模和约定
n是32位有符号整数
思路:用Math库的sqrt函数求得n的根号,然后再进行一次判断就可得出结果。
完全平方数:能表示成某个整数的平方的形式,6×6=36,7×7=49…
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
long n=scanner.nextLong();
double x=Math.sqrt(n); //Math库的sqrt函数求得n的根号
long res=0;
if (n<=0) { //如果小于等于0,无意义
res=0;
}else if (((long)x*(long)x)==n) { //举例:6×6=36
res=(long)x; //如果成立,把数取出来
}else {
res=(long)x+1; //不成立,+1再次循环
}
System.out.println(res*res); //输出结果
}
}