Loading...
milenats avatar milenats 9 Точки

Lists and Matrices Lab - 6.Square Numbers

Здравейте,

Условието е: Read a list of integers and extract all square numbers from it and print them in descending order. A square number is an integer which is the square of any integer. For example, 1, 4, 9, 16 are square numbers.

Получавам в Judge само 75 точки. Защо?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _6
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> spis = Console.ReadLine().Split(' ').Select(int.Parse).OrderByDescending(a => a).ToList();
            foreach (var item in spis)
            {
                double help = Math.Sqrt(item);
                if ( help * help == item)
                    Console.Write(item + " ");
            }
        }
    }
}

 

Тагове:
0
Fundamentals Module
milenats avatar milenats 9 Точки

Ще си отговоря сама, понеже намерих ключа от бараката, а може на някой да му е полезно също да го научи.

Както и подозирах, проблемът се оказа загуба на точност, който не можеше да се реши с decimal. Затова използвах хинта от word файла, колкото и да не ми с искаше: проверих дали коренът е цяло число. Ето кода (понеже е много къс го качвам директно):

 

static void Main(string[] args)
        {
            List<double> spis = Console.ReadLine().Split(' ').Select(double.Parse).OrderByDescending(a => a).ToList();
            foreach (var item in spis)
            {
                var help = Math.Sqrt(item);
                if ( help == (int)help )
                    Console.Write(item + " ");
            }
        }

0
30/08/2016 11:29:47
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.