Loading...
ghostd0g avatar ghostd0g 27 Точки
Best Answer

Здравей,

Проблема идва от while циклите. В случая не са ти необходими и можеш просто да ползваш модулно делене.

            if (seconds >= 60)
            {
                seconds = seconds % 60;
            }

Ето линк към твоя код с малка корекция. Дава 100 от 100 точки.

https://pastebin.com/hfx15L3j

 

 

 

0
Jeliozver avatar Jeliozver 356 Точки

Предполагам има тестове с огромни цифри, а твоето решение ще цикли доста при много голямо число.

0
kratun avatar kratun 22 Точки

Напълно съм съгласен с Jeliozver.  Взямай остатъка, използвайки % на началото числото (number) със съответните стойности (60,60,24,365). След което разделяй началото числото на () (number/= 60) и тн.. Така повторено от секундите ще стигнеш до дните.  Слагаш няколко иф-а за да видиш дали си <1 и >0. 

Например:

int seconds = number % 60;

number/=60;

....

int days = number % 365;

0
31/01/2018 21:48:50
viliqn avatar viliqn 1 Точки

аха, схванах делението защо е, но не разбирам с тея ифове кое да проверявам - https://pastebin.com/ctPcepXM

0
01/02/2018 14:47:35
kratun avatar kratun 22 Точки

Наистина не е необходимо да я решаваш с if else. Тъй като задачата не бях я решавал тогава и първото което ми хрумна е да направя променливи за ден, час, минута и секунда, които да са равни на 0 и след което с няколко иф-а да я реша.

Извинявам се ако съм те объркал.

Ето това е моето решение.

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