Loading...
tihomirj avatar tihomirj 33 Точки

Exercises: Lists and Matrices - 7. Square Numbers

Задачата е следната: Read a list of integers and extract 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.

Получавам 80/100 и не мога да си открия грешката. Явно нещо пропускам.

Ето кода:

static void Main(string[] args)
       {
           List<long> nums = Console.ReadLine().Split(' ').Select(long.Parse).ToList();
           List<long> result = new List<long>(); 
           nums.Sort();
           nums.Reverse(); 
           for (int i = 0; i <nums.Count; i++)
              if (Math.Sqrt(nums[i]) == Math.Truncate(Math.Sqrt(nums[i])))
                   result.Add((nums[i]));           
           Console.WriteLine(string.Join(" ",result));
       }

 

1
Programming Fundamentals
evgenikolov avatar evgenikolov 304 Точки

Здравей колега, ако забелязваш резултатите всички сме с по 80 точки на тази задача. Явно има проблем с теста и преди се е случвало. Когато дойде време за лекцията ги забелязват и ги коригират. 

А ето и моето решение:

using System;
using System.Collections.Generic;
using System.Linq;

class SquareNumbers
{
    static void Main()
    {
        var input = Console.ReadLine().Split().Select(int.Parse).ToList();
        var result = new List<int>();

        foreach (var num in input)
        {
            if (Math.Sqrt(num) == Math.Floor(Math.Sqrt(num)))
            {
                result.Add(num);
            }
        }
        result.Sort();
        result.Reverse();
        Console.WriteLine(string.Join(" ", result));
    }
}

 

1
tihomirj avatar tihomirj 33 Точки

Да. Може и да си прав. Ще видим утре.

0
evgenikolov avatar evgenikolov 304 Точки

Прав съм, виж сега точките. Добавиха още 1 тест и станаха 87.

EDIT: Вече дава 100 :)

0
31/05/2016 00:09:53
tihomirj avatar tihomirj 33 Точки

Да, явно е имало грешка :)

0
TeodorDimitrov89 avatar TeodorDimitrov89 264 Точки

Моето решение е http://pastebin.com/L0ET9GKq .Като нищо не се получаваше с вградените функции видях от нета и си направих свой метод.Не е най-доброто решение но дава 80/100.

0
i.minchev.qa avatar i.minchev.qa 34 Точки

Здравей и от мен,

Ето и моето решение - http://pastebin.com/ZKyiNNDG

Аз се опитвам първо да коренувам и да запазя като string.

После с int.TryParse се опитвам да Parse-на stringa и ако е int, го запазвам в List.

Гледам вече си решил задачата 100/100, но просто добавям разнообразие във вариантите за решение.

Поздрави. :)

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