算法训练 大等于n的最小完全平方数(输出大等于n的最小的完全平方数。   若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数)

算法训练 大等于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;
}

运行示例
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45281807/article/details/105802729