2017Nowcoder Girl A - 平方数

版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
    }
}

猜你喜欢

转载自blog.csdn.net/Puppettt/article/details/85014988