算法训练 大等于n的最小完全平方数
问题描述
输出大等于n的最小的完全平方数。
若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数
Tips:注意数据范围
输入格式
一个整数n
输出格式
大等于n的最小的完全平方数
样例输入
71711
样例输出
71824
数据规模和约定
n是32位有符号整数
水题!水题!水题!!一定反思自己为什么粗心!
这题其实就是,要先判断输入的是正数还是负数,负数的话直接输出最小的自然数0即可,正数的话要先开方,然后再+1判断是否比n大即可。注意数据规模。
检讨:总是不踏实,这种基础题也要修改好几次才能A,掌嘴!!
代码呈上:
#include <stdio.h>
#include <math.h>
int main ()
{
long long n;
scanf("%lld",&n);
long long j;
long long acc;
if(n>=0)
{
j=(long long)sqrt(n)-1;
while(1)
{
acc=j*j;
j++;
if(acc>=n)
{
printf("%lld",acc);
break;
}
}
}
else
printf("0");
return 0;
}
运行示例