Софтуерно Инженерство
Loading...
+ Нов въпрос
krum_43 avatar krum_43 39 Точки

Проблем при една изпитна задача от tech-a with C#-Anonymous_Downsite

Условието на задачата може да се види от линка:

https://softuni.bg/trainings/resources/officedocument/33239/exercise-problem-descriptions-group-2-programming-fundamentals-may-2018/1939

С моя код стигам до 90/100 и не мога да разбера какъв е последният тест,който не мога да мина.

В ограниченията е казано,че една от променливите site visits може да приема стойности [0,2 на степен 31].

Дали типа,коvто използвам(decimal) е достатъчен?

До колкото знам в C# няма тип BigDecimal?

Eто и кода:

namespace Anonymous_Downsite
{
    class Program
    {
        static void Main(string[] args)
        {
            int numberofsites = int.Parse(Console.ReadLine());
            int securitykey = int.Parse(Console.ReadLine());
            decimal totalLoss = 0;
            List<string> names = new List<string>();
            int securitytokkens =(int)Math.Pow(securitykey, numberofsites);
            for (int i = 0; i <numberofsites; i++)
            {
                string date = Console.ReadLine();
                var dateSplit = date.Split();
                decimal siteloss =decimal.Parse(dateSplit[1]) *decimal.Parse(dateSplit[2]);
                totalLoss += siteloss;
                names.Add(dateSplit[0]);
            }
            foreach (var name in names)
            {
                Console.WriteLine($"{name}");
            }
            Console.WriteLine($"Total Loss: {totalLoss:f20}");
            Console.WriteLine($"Security Token: {securitytokkens}");
        }
    }
}

Тагове:
0
C# Fundamentals
iGeorg1ev avatar iGeorg1ev 188 Точки
Best Answer

Здравей,

decimal - a e OK. Сложи BigInteger, където изчисляваш securityToken:

BigInteger securitytokkens = BigInteger.Pow(securitykey, numberofsites);

10 ^ 10 e доста голямо число.

 

Иво

 

1
krum_43 avatar krum_43 39 Точки

Мерси за поправката.

Явно това не съм го съобразил.

:)

0