问题描述
输出大等于n的最小的完全平方数。
若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数Tips:注意数据范围
输入格式
一个整数n
输出格式
大等于n的最小的完全平方数
样例输入
71711
样例输出
71824
数据规模和约定
n是32位有符号整数
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main() {
long n;
cin >> n;
if (n < 0) {
cout << 0;
}
else {
long long num = sqrt(n);
if (num * num < n) {
num++;
if (num * num >= n)
printf("%IId", num * num);
}
else {
printf("%IId",num * num);
}
}
return 0;
}
在输出语句选择上,cout的确更方便,但printf功能更加强大。在这道题目上,如果要输出的数字精度比较大时,不妨使用printf("%IId",num);
记住格式即可。