问题描述
输出大等于n的最小的完全平方数。
若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数
Tips:注意数据范围
输入格式
一个整数n
输出格式
大等于n的最小的完全平方数
样例输入
71711
样例输出
71824
数据规模和约定
n是32位有符号整数
注;Iint型-> 绝对值在10^9范围内的整数都可以哦定义成 int,一个整数占32位范围是 -10^31~+(10^31-1);
long long 取值范围:-2^63~+(2^63-1) 64位,绝对值在10^18以内
#include <stdio.h>
#include <cmath>
int main(){
long long n;
scanf("%lld",&n);
long long sqr=(long long)sqrt(n*1.0);
if(n<=0){
printf("0\n");//如果输入的为负数,大于n的最小的完全平方数0
}else if(n==sqr*sqr){
printf("%lld\n",n);//n本身是他自己的完全平方数
}else {
printf("%lld",(sqr+1)*(sqr+1));
}
return 0;
}
,