CF914A Perfect Squares

CF914A Perfect Squares

题意翻译

给定一组有n个整数的数组a1,a2,…,an.找出这组数中的最大非完全平方数。 完全平方数是指有这样的一个数x,存在整数y,使得x=y^2y2 .

输入格式

第一行输入一个单独的整数n(1<=n<=1000 ),n为该组数的数量。 接下来有n个整数,a1,a2,an(-10^6<=a<=10^6) 数据保证至少存在一个整数是非完全平方数。

题目描述

Given an array a_{1},a_{2},...,a_{n}a1?,a2?,...,an? of nn integers, find the largest number in the array that is not a perfect square.

A number xx is said to be a perfect square if there exists an integer yy such that x=y^{2}x=y2 .

输入输出格式

输入格式:

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

The second line contains nn integers a_{1},a_{2},...,a_{n}a1?,a2?,...,an? ( -10^{6}<=a_{i}<=10^{6}−106<=ai?<=106 ) — the elements of the array.

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

输出格式:

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

输入输出样例

输入样例#1: 复制

2
4 2

输出样例#1: 复制

2

输入样例#2: 复制

8
1 2 4 8 16 32 64 576

输出样例#2: 复制

32

说明

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

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 1001
using namespace std;
int n;
int num[MAXN];
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&num[i]);
    sort(num+1,num+1+n);
    for(int i=n;i>=1;i--){
        int k=sqrt(num[i]);
        if(k*k!=num[i]){
            cout<<num[i];
            return 0;
        }
    }
}

原文地址:https://www.cnblogs.com/cangT-Tlan/p/8440585.html

时间: 2024-11-10 07:54:13

CF914A Perfect Squares的相关文章

hdu 3524 Perfect Squares 推公式求逆元

Perfect Squares Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 501    Accepted Submission(s): 272 Problem Description A number x is called a perfect square if there exists an integer b satisfy

Light OJ 1288 Subsets Forming Perfect Squares 高斯消元求矩阵的秩

题目来源:Light OJ 1288 Subsets Forming Perfect Squares 题意:给你n个数 选出一些数 他们的乘积是完全平方数 求有多少种方案 思路:每个数分解因子 每隔数可以选也可以不选 0 1表示 然后设有m种素数因子 选出的数组成的各个因子的数量必须是偶数 组成一个m行和n列的矩阵 每一行代表每一种因子的系数 解出自由元的数量 #include <cstdio> #include <cstring> #include <algorithm&g

Lintcode Perfect Squares

Given a positive integer n, find the least number of perfect square numbers (for example,1, 4, 9, 16, ...) which sum to n. Given n = 12, return 3 because 12 = 4 + 4 + 4Given n = 13, return 2 because 13 = 4 + 9 刷这道题目发现网上有四种解法 http://www.cnblogs.com/gr

[LeetCode] Perfect Squares

Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n. For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, return 2 because 13 = 4 + 9. Credits: Special thanks

一、Perfect Squares 完全平方数

h3 { background-color: palegreen } 一原题 Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n. For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, return 2 beca

279. Perfect Squares

Total Accepted: 48616 Total Submissions: 142008 Difficulty: Medium Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n. For example, given n = 12, return 3 because 12 = 4 + 4 + 4;

LeetCode 279. Perfect Squares

Question: Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n. For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, return 2 because 13 = 4 + 9. Code: public

Perfect Squares

Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n. Example Given n = 12, return 3 because 12 = 4 + 4 + 4Given n = 13, return 2 because 13 = 4 + 9 分析: 首先把所有 1-n 的square numbers找出

leetcode笔记:Perfect Squares

一. 题目描述 Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n. For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, return 2 because 13 = 4 + 9. 二. 题目分析 该题目的大意是