[Programming Fundamentals] 19.Thea the Photographer
Здравейте,
Дава ми много малко точки в judge. Условие.
Мисля, че проблема е в пресмятането на секундите , но не мога да го оправя.
Здравейте,
Дава ми много малко точки в judge. Условие.
Мисля, че проблема е в пресмятането на секундите , но не мога да го оправя.
ето едно решение от мене: https://pastebin.com/UXhQLED3
1вото нещо което липсва при тебе е че не закръгляш. В условието пише : Then a filter factor – a percentage (integer number) of the total photos (rounded to the nearest bigger integer value e.g. 5.01 -> 6) that are good enough to be given to her clients (Photoshop may do miracles but Thea does not).
а за твоя код, по-добре понаучи TimeSpan и DataTime как се изполват за да нямаш главоболия :)
при мен гърми на последните 3 теста пробвах го и с TimeSpan и така както е тук , резултатът е един и същ.
Тук "percent" не си го дефинирал и може да потърсиш в Google за TimeSpan. В StackOverflow, имаше хубав къс пример как се работи с него и ти трябват само секундите. Като гледам на много места делиш интегери с интегери и оттам може да става грешка.
Ето пример за TimeSpan при който използваш само секундите и ти изчислява цялото време:
TimeSpan <име> = TimeSpan.FromSeconds(<секунди>);
Console.WriteLine(<име>.ToString(@"d\:hh\:mm\:ss"));
да прав си променливата я редактирах и с таимспана го пробвах преди да пиша, пак гръмнаха последните 3
промених всички променливи инт на лонг и мина без таим спана и с него
long също е int (long integer), дай link към кода ти където ползваш TimeSpan, ако можеш.
Здравейте, някой може ли да помогне с тоя код, че не виждам какъв му е проблема :) Дава 70 от 100. Благодаря.
using System;
class Program
{
static void Main()
{
int allPictures = int.Parse(Console.ReadLine());
int filterTime = int.Parse(Console.ReadLine());
int filterFactorInPercentage = int.Parse(Console.ReadLine());
int uploadedTime = int.Parse(Console.ReadLine());
int uploadedPictures = (int)(Math.Ceiling(allPictures * (filterFactorInPercentage * 0.01)));
int allFilterTime = allPictures * filterTime;
int allUploadedTime = uploadedPictures * uploadedTime;
int seconds = (allFilterTime + allUploadedTime);
int minutes = 0;
int hours = 0;
int days = 0;
if (seconds >= 60)
{
minutes = seconds / 60;
seconds = seconds % 60;
}
if (minutes >= 60)
{
hours = minutes / 60;
minutes = minutes % 60;
}
if (hours >= 24)
{
days = hours / 24;
hours = hours % 24;
}
Console.WriteLine("{0}:{1:D2}:{2:D2}:{3:D2}", days, hours, minutes, seconds);
}
}
Имаш препълване на данните в някоя от променливите.
Замени всички int с ulong и ще мине със 100/100 в Judge.
Чак long или ulong не ти трябва но поне double,тук виждам само ints а дори в примерните тестове,е дадена и дроб koято закръгляш.. Pls тоя дълъг код,другиа път с pastebin...Иначе за мен е много усложнено,тая задача се решава д около 10 реда код ако ползваш DateTime или TimeSpan. Сега съм на работа но ако ти е интересно довичера мога да ти кача решението с тези default class-ве
Благодаря, с long стана. https://pastebin.com/N6tahXYx Може да видя и другото решение довечера.