zoukankan      html  css  js  c++  java
  • Perfect Squares

    Given an array a1, a2, ..., an of n integers, find the largest number in the array that is not a perfect square.

    A number x is said to be a perfect square if there exists an integer y such that x = y2.

    Input

    The first line contains a single integer n (1 ≤ n ≤ 1000) — the number of elements in the array.

    The second line contains n integers a1, a2, ..., an ( - 106 ≤ ai ≤ 106) — the elements of the array.

    It is guaranteed that at least one element of the array is not a perfect square.

    Output

    Print the largest number in the array which is not a perfect square. It is guaranteed that an answer always exists.

    Example
    Input
    2
    4 2
    Output
    2
    Input
    8
    1 2 4 8 16 32 64 576
    Output
    32
    Note

    In the first sample case, 4 is a perfect square, so the largest number in the array that is not a perfect square is 2.

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    using namespace std;
    int check(int t)
    {
        if(t < 0)return 1;
        int i = 0;
        while(i <= t)
        {
            if(i * i == t)return 0;
            else if(i * i > t)return 1;
            i ++;
        }
    }
    int main()
    {
        int n,m = -100000000;
        cin>>n;
        int d;
        for(int i = 0;i < n;i ++)
        {
            cin>>d;
            if(d > m && check(d))m = d;
        }
        cout<<m;
    }
  • 相关阅读:
    new delete的内部实现代码
    子串的替换
    求字符串的长度
    TSQL语句学习(四)
    TSQL语句学习(二)
    杭电acm1036
    杭电acm2032
    杭电acm2045
    杭电acm2072
    杭电acm1029
  • 原文地址:https://www.cnblogs.com/8023spz/p/8358329.html
Copyright © 2011-2022 走看看