C语言每日一题(23)兔子的序列

牛客网 BC159 兔子的序列

题目描述

描述

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

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

输入描述:

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

第二行有 n 个整数 ai,表示序列中的 n 个数分别是多少。

输出描述:

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

思路分析

首先介绍一下非完全平方数的概念

非完全平方数是指不能表示为一个整数的平方的数。例如,2、3、5、6、7、8、10等都是非完全平方数。

根据它的性质,我们可以利用该数的平方根的平方如果等于它本身,则就是是一个完全平方数,否则就是非完全平方数。

遍历完整个数组后,将最大的满足该条件的值输出即可。

复制代码
#include <stdio.h>
#include<math.h>
int main() {
    int n=0;
    int a,max=0;
    int x=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a);
        x=sqrt(a);
        if(a==pow(x,2)) continue;
        else
         {
            if(a>max) max=a;
         }
        
    }
    printf("%d",max);

    return 0;
}
相关推荐
陌路207 分钟前
S12 简单排序算法--冒泡 选择 直接插入 希尔排序
数据结构·算法·排序算法
雾岛—听风42 分钟前
P1012 [NOIP 1998 提高组] 拼数
算法
papership1 小时前
【入门级-算法-5、数值处理算法:高精度的乘法】
数据结构·算法
earthzhang20211 小时前
【1039】判断数正负
开发语言·数据结构·c++·算法·青少年编程
谈笑也风生1 小时前
只出现一次的数字 II(一)
数据结构·算法·leetcode
蕓晨1 小时前
auto 自动类型推导以及注意事项
开发语言·c++·算法
mjhcsp2 小时前
C++ 递推与递归:两种算法思想的深度解析与实战
开发语言·c++·算法
_OP_CHEN2 小时前
算法基础篇:(三)基础算法之枚举:暴力美学的艺术,从穷举到高效优化
c++·算法·枚举·算法竞赛·acm竞赛·二进制枚举·普通枚举
m0_748248022 小时前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
java·开发语言·c++·算法
天选之女wow2 小时前
【代码随想录算法训练营——Day61】图论——97.小明逛公园、127.骑士的攻击
算法·图论