版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Puppettt/article/details/85014988
题目描述
如果一个整数x是某个整数的平方, 我们就把整数x称为平方数。
妞妞最喜欢的数字就是平方数, 妞妞现在给你一个N, 妞妞希望你能帮助她找出不大于N的最大的平方数。
输入描述:
输入包括一行, 包括一个正整数N(1 <= N <= 10^9), 表示妞妞给的数字N。
输出描述:
输出一个整数, 即不大于N的最大的平方数。
示例1
输入
10
输出
9
思路:预处理。
代码:
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e9+5;
int f[100100]={0},d=0;
void init()
{
int n=sqrt(maxn);
for(int i=0;i<=n;i++)
{
f[d++]=i*i;
//printf("%d,",f[i]);
}
}
int main()
{
int N;
init();
while(scanf("%d",&N)!=EOF)
{
int ans=1;
for(int i=0;i<d;i++)
{
//printf("%d,",f[i]);
if(f[i]<=N)ans=f[i];
else break;
}
printf("%d\n",ans);
}
}