Професионална програма
Loading...
+ Нов въпрос
ioanna.konova avatar ioanna.konova 39 Точки

Задача 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 39 Точки

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

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 1469 Точки

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 651 Точки

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

 

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