Loading...
MilenaSl avatar MilenaSl 161 Точки
Best Answer

Пробвай да промениш тези два реда:

int stepsTaken = int.Parse(Console.ReadLine()) % 86400;
int secondsPerStep = int.Parse(Console.ReadLine()) % 86400;

 

1
toni20002 avatar toni20002 14 Точки

Получи се! Благодаря много, но ако е възможно да обясните защо се получи, че не ми стана ясно?

0
MilenaSl avatar MilenaSl 161 Точки

Здравей, причината е в Constrains на задачата. Стъпките и скоростта може да са 2147483647 * 2147483647 = 4611686014132420609, което няма да се побере дори в ulong. Затова махаме цели дни с помощта на деление с остатък (86400 секунди са 1 ден). По същия начин DateTime превърта дните в случая.

Ако имахме да кажем и колко дни ще са му нужни на човека да се прибере, навярно щеше да се ползва BigInteger .

0
did0sh avatar did0sh 4 Точки

Внимавай с това да не Overflow-ва. 

Int * int може да е равно на long

0
toni20002 avatar toni20002 14 Точки

Това го взех в предвид , колега, но не става и така, точно при long ми дава грешка. По условие пишеше, че е в границите на int типа

0
Bebrevski avatar Bebrevski 17 Точки

Както каза колегата int*int прехвърля int. Променливата ти е double, но това не означава, че резултата който подава на double, наистина е double. Направи един каст на някоя от променливите -> пред променливата пишеш (double)

0
Jeliozver avatar Jeliozver 356 Точки

И аз бях тръгнал по тоя начин, но със TimeSpan. Ако ти сложат int.MaxValue като стойности или ще ти превърти и даде грешен резултат или ако сметките са правилни ще ти гръмне в DateTime, защото добавяш прекалено голяма цифра.

Не се бях сетил за хитринката дето е дала колежката, но е нормално имах 3 по математика :D

Та в крайна сметка си го реших по дългия начин със конвертиране в секунди събиране на времената и после конвертиране пак в изискваните стойности.

0
29/10/2017 17:57:43
MilenaSl avatar MilenaSl 161 Точки

Ето го и моето решение. Малко по-оптимизирано е, защото добавям само секундите: 

https://pastebin.com/7A2J2Eaw

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