Loading...
rumirtp avatar rumirtp 0 Точки

C# Fundamentals - Data Types - 11.Snowballs [90/100]

Немога да разбера защо на 5- ти тест ми дава грешка, това е кодът ми:

using System;

namespace zad11
{
    class Program
    {
        static void Main(string[] args)
        {
            int nSnowballs = int.Parse(Console.ReadLine());
            decimal maxrezult= 0;
            uint maxsnow = 0;
            ushort maxtime = 0;
            uint maxquality = 0;
            
            for (int i = 1; i <= nSnowballs; i++)
            {
                
                uint snowballSnow = uint.Parse(Console.ReadLine());
                ushort snowballTime= ushort.Parse(Console.ReadLine());
                uint snowballQuality = uint.Parse(Console.ReadLine());
                double rezult = snowballSnow / snowballTime;
                decimal rezult1 = (decimal)Math.Pow(rezult,snowballQuality);
                if (rezult1 > maxrezult)
                {
                    maxrezult =rezult1;
                    maxsnow= snowballSnow;
                    maxtime = snowballTime;
                    maxquality = snowballQuality;
                }
            }
            if (maxrezult!=0)
            {
                Console.WriteLine($"{maxsnow} : {maxtime} = {maxrezult} ({maxquality})");
            }
            
           
        }
    }
}
 

Тагове:
0
Module: C# Advanced
krum_43 avatar krum_43 726 Точки

Задачата е коментирана многократно из форума.Там където повдигаш на степен (decimal rezult1 = (decimal)Math.Pow(rezult,snowballQuality).

Израза от дясно на равенството става много голям и не се побира в decimal.

Използвай вместо него BigInteger.

 

0
Dani0000 avatar Dani0000 1 Точки

На практика, ако се спазва условието на задачата, най-големмия резултат влиза в размер double, но и по този начин се чупи кода.

btw същия код пуснат на Java минава с double променлива.

Бих искал да видя входа на този тест#5.

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