ALGO-201 大等于n的最小完全平方数
题目
问题描述
输出大等于n的最小的完全平方数。
若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数
Tips:注意数据范围
输入格式
一个整数n
输出格式
大等于n的最小的完全平方数
样例输入
71711
样例输出
71824
题目分析
#include <cmath>
变量 x;
sort(x) //对x开根号 sort(100) 10
ceil(x) //对x向上取整 ceil(1.1) 2
floor(x) //对x向下取整 floor(1.9) 2
round(x) //对x四舍五入 round(2.3) 2 round(2.5) 3
1.输出大等于n的最小的完全平方数。
1.1 利用循环,从n开始逐个检查是否为完全平方数;
2.2 检查到完全平方数输出并且break;
2.若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数
2.1 完全平方数可以开根号出现一个正整数
2.2 当一个数向上取整和向下取整都相同是,这个数是一正整数
2.3 综上条件为ceil(sqrt(i)) == floor(sqrt(i)),这个数是完全平方数
我的题解
//大等于n的最小完全平方数
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long long x;
cin >> x;
if (x < 0) //完全平方数是一个正整数
cout << "0";
else
for (long long i = x ;; i++)
{
if (ceil(sqrt(i)) == floor(sqrt(i)))
{
cout << i;
break;
}
}
return 0;
}