Loading...
itanev avatar itanev 1 Точки

19. * Thea the Photographer

Здравейте колеги.При така качена задачата в judge ми дава 70/100. И при проверка на изходните данние ми излизат коректни резултати,но 8,9 и 10 тест от judge ми дават грешен отговор.Може ли някои да ми подскаже къде изпускам нещо.Благодаря предватително :)

using System;

namespace _19.Thea_The_Photographer
{
    class Program
    {
        static void Main(string[] args)
        {
            int countPictures = int.Parse(Console.ReadLine());
            int filterTimeForOnePicture = int.Parse(Console.ReadLine());
            int filterFactor = int.Parse(Console.ReadLine());
            int uploadTime = int.Parse(Console.ReadLine());

            double filterPicture = Math.Ceiling(countPictures * (filterFactor / 100.0));
            double firstAnswer = countPictures * filterTimeForOnePicture;
            double secondAnswer = filterPicture * uploadTime;
            double answer = firstAnswer + secondAnswer;

            TimeSpan time = TimeSpan.FromSeconds(answer);
            string str = time.ToString(@"d\:hh\:mm\:ss");
            Console.WriteLine(str);

        }
    }
}
 

Тагове:
1
Programming Fundamentals
yordank avatar yordank 89 Точки

The amount of total pictures Thea will have taken is range [0 … 1 000 000]

The seconds for both filtering and uploading will be in range [0 … 100 000]

The filter factor will be an integer number between [0 … 100].

Мисля,че заради тези ограничения и заради умножението се получава препълване на int което се преобразува към double,може би трябва да използваш long вместо Int 

1
itanev avatar itanev 1 Точки

По условие е дадено да се ползва int: The input will be in the described format, there is no need to check it explicitly. Ще пробва с ограничаване на входа.

 

0
yordank avatar yordank 89 Точки

 

Друг вариант е умноженията да се преобразуват към double.

http://pastebin.com/PHVarvhs

Имах предвид,че ако пробваш например само долната част от кода какво ще изведе с вход 1 000 000 и 100 000, трябва да се изведе 100 000 000 000,нали така?

using System;

namespace _19.Thea_The_Photographer
{
    class Program
    {
        static void Main(string[] args)
        {
            int countPictures = int.Parse(Console.ReadLine());
            int filterTimeForOnePicture = int.Parse(Console.ReadLine());
          

            double firstAnswer = countPictures * filterTimeForOnePicture;
       
            Console.WriteLine(firstAnswer);

        }
    }
}

а в случая връща друг резултат,защото int приема стойности от -2,147,483,648 до 2,147,483,647

0
25/09/2016 02:33:50
Gesh4o avatar Gesh4o Trainer 305 Точки

Здравей,

По условие е зададено, че числата се побират в int, но искам да отбележа, че когато имаме умножение от сорта на 1 000 000 * 100 000 - това съвсем спокойно може да препълни този тип данни. :)

Поздрави!

1
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Аз ползвам double само за процента качени снимки, и после качените снимки отново ги преобразувам с (int)Math.Ceiling. Всичко останало ми е int и long. Не може да качиш половин снимка, нали?

Кръщавай си променливите по ясно, защото на четящи кода ти, firstAnswer и secondAnswer нищо не говорят.

1
itanev avatar itanev 1 Точки

Ясно сега ми се изясни. Благодаря ви ;)

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