描述

兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,命名应该要与这个序列有关。由于兔子十分讨厌完全平方数,所以兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字。

现在兔子有一个序列,想要知道这个序列的名字是什么。

输入描述:

第一行一个整数 n,表示序列的长度。

第二行有 n 个整数 a

i

,表示序列中的 n 个数分别是多少。

输出描述:

输出仅一行,表示这个序列的名字,也就是这个序列中最大的非完全平方数。

#include <stdio.h>
#include <math.h>

long Tuzi(long* seq_max, int seq_size);
int main()
{
    int n;
    scanf("%d",&n);

    long name = 0;
    long seq[n];
    for(int i = 0;i < n;i++)
    {
        scanf("%ld",&seq[i]);
    }
    name = Tuzi(seq, n);
    printf("%ld\n",name);

    return 0;
}
long Tuzi(long* seq_del, int seq_size)
{
    long name_store = 0;
    //遍历数组求最大
    for(int j = 0;j < seq_size;j++)
    {   
        if(name_store <= seq_del[j])    //后者比前者大
        {
            long Double_seq = (long)sqrt((double)seq_del[j]);   //平方根取整
            if((Double_seq * Double_seq) != seq_del[j]) //完全平方数判断
            {
                name_store = seq_del[j];    //存放兔子序列名称
            }
        }
    }

    return name_store;
}