Loading...
ioanna.konova avatar ioanna.konova 47 Точки

Задача Time + 15 Minutes от Conditional Statements - Exercise

Здравейте пак от мен, колеги! Това е моето решение на задачата. Резултатите ми се получават, но judge ми даде 90/100, защото е преколено голямо като обем. Някакви идеи как да го посъкратя, без да си развалям ... логиката?

Условие:

Време + 15 минути

Да се напише програма, която чете час и минути от 24-часово денонощие, въведени от потребителя и изчислява колко ще е часът след 15 минути. Резултатът да се отпечата във формат часове:минути. Часовете винаги са между 0 и 23, а минутите винаги са между 0 и 59. Часовете се изписват с една или две цифри. Минутите се изписват винаги с по две цифри, с водеща нула, когато е необходимо.

Примерен вход и изход

вход

изход

 

вход

изход

 

вход

изход

 

вход

изход

 

вход

изход

1

46

2:01

0

01

0:16

23

59

0:14

11

08

11:23

12

49

13:04

Тагове:
0
Programming Basics
ioanna.konova avatar ioanna.konova 47 Точки

Моето решение:

using System;

namespace Time_15Minutes
{
    class Program
    {
        static void Main(string[] args)
        {
            int inputHours = int.Parse(Console.ReadLine());
            int inputMinutes = int.Parse(Console.ReadLine());

            int totalMunutes = (inputHours * 60) + inputMinutes + 15;

            int outputHours = totalMunutes / 60;
            int outputMunutes = totalMunutes % 60;

            if (outputHours == 24)
            {
                if (outputMunutes < 10)
                {
                    Console.WriteLine($"0:0{outputMunutes}");

                }
                else
                {
                    Console.WriteLine($"0:{outputMunutes}");
                }
            }
            else if (outputMunutes < 10)
                {
                    Console.WriteLine($"{outputHours}:0{outputMunutes}");
                }
            else
            {
                Console.WriteLine($"{outputHours}:{outputMunutes}");
            }
        }
    }
}

0
Axiomatik avatar Axiomatik 2422 Точки

Try to submit again, sometimes Judge gets bugged down and returns a watch symbol for a missed test, which should get corrected when solution is re-submitted.

Otherwise you can cut down on your code in the following way:

using System;

namespace timePlus15Minutes
{
    class Program
    {
        static void Main(string[] args)
        {
            int hours = int.Parse(Console.ReadLine());
            int minutes = int.Parse(Console.ReadLine());
            int timeInMinutes = (hours * 60) + minutes;
            int time15 = timeInMinutes + 15;
            int hoursNew = time15 / 60;
            int minutesNew = time15 % 60;
            if (hoursNew >= 24)
            {
                hoursNew = hoursNew - 24;
            }
            if (minutesNew < 10)
            {
                Console.WriteLine($"{hoursNew}:0{minutesNew}");
            }
            else
            {
                Console.WriteLine($"{hoursNew}:{minutesNew}");
            }
        }
    }
}

 

0
krum_43 avatar krum_43 756 Точки

Ето още едно решение:

 

using System;

namespace Time_15Minutes
{
    class Program
    {
        static void Main(string[] args)
        {
            int inputHours = int.Parse(Console.ReadLine());
            int inputMinutes = int.Parse(Console.ReadLine());
            int outputMinutes = inputMinutes + 15;
            int outputHours = inputHours;
            if(outputMinutes>=60)
            {
                outputMinutes -= 60;
                outputHours += 1;
            }
            if(outputHours==24)
            {
                outputHours = 0;
            }
            if (outputMinutes < 10)
            {                
                {
                    Console.WriteLine($"{outputHours}:0{outputMinutes}");
                }
            }
            else
            {
                Console.WriteLine($"{outputHours}:{outputMinutes}");
            }           
           
        }
    }
}
 

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