📜  添加给定的 n 个持续时间

📅  最后修改于: 2022-05-13 01:57:59.236000             🧑  作者: Mango

添加给定的 n 个持续时间

MM : SS的形式给定n 个持续时间,其中 MM 表示分钟,SS 表示秒。任务是以HH:MM:SS的形式添加所有持续时间和输出答案。
例子:

Input : n = 5
        duration1 = 0 : 45
        duration1 = 2 : 31
        duration1 = 3 : 11
        duration1 = 2 : 27
        duration1 = 1 : 28
Output : 0 : 10 : 22
Initially, sum = 0
On adding duration 1, sum = 0 hour 0 minutes 45 seconds.
On adding duration 2, sum = 0 hour 3 minutes 16 seconds.
On adding duration 3, sum = 0 hour 6 minutes 27 seconds.
On adding duration 4, sum = 0 hour 8 minutes 54 seconds.
On adding duration 5, sum = 0 hour 10 minutes 22 seconds

这个想法是将所有给定的持续时间转换为秒。一旦我们知道以秒为单位的持续时间,我们就可以计算以秒为单位的持续时间总和。
为了得到小时数,我们必须将总持续时间(以秒为单位)除以 3600。余数用于计算分钟数和秒数。通过将余数除以 60,我们得到分钟数,除法的余数就是秒数。
下面是这种方法的实现:

C++
// CPP Program to find the sum of all duration
// in the form of MM : SS.
#include 
using namespace std;
 
// Print sum of all duration.
void printSum(int m[], int s[], int n)
{
    int total = 0;
 
    // finding total seconds
    for (int i = 0; i < n; i++) {
        total += s[i];
        total += (m[i] * 60);
    }
 
    // print the hours.
    cout << total / 3600 << " : ";
    total %= 3600;
 
    // print the minutes.
    cout << total / 60 << ": ";
    total %= 60;
 
    // print the hours.
    cout << total << endl;
}
 
// Driven Program
int main()
{
    int m[] = { 0, 2, 3, 2, 1 };
    int s[] = { 45, 31, 11, 27, 28 };
    int n = sizeof(m)/sizeof(m[0]);
    printSum(m, s, n);
    return 0;
}


Java
// Java Program to find the
// sum of all duration in
// the form of MM : SS.
class GFG
{
     
    // Print sum of all duration.
    static void printSum(int m[],
                    int s[], int n)
    {
        int total = 0;
     
        // finding total seconds
        for (int i = 0; i < n; i++)
        {
            total += s[i];
            total += (m[i] * 60);
        }
     
        // print the hours.
        System.out.print(total / 3600 + " : ");
        total %= 3600;
     
        // print the minutes.
        System.out.print(total / 60 +": ");
        total %= 60;
     
        // print the hours.
        System.out.println(total);
    }
     
// Driver code
public static void main (String[] args)
{
    int m[] = {0, 2, 3, 2, 1 };
    int s[] = { 45, 31, 11, 27, 28 };
    int n = m.length;
     
    printSum(m, s, n);
}
 
}
 
// This code is contributed by Anant Agarwal.


Python3
# Python3 code to find the sum of
# all duration in the form of MM : SS.
 
# Print sum of all duration.
def printSum (m, s, n ):
    total = 0
     
    # finding total seconds
    for i in range(n):
        total += s[i]
        total += (m[i] * 60)
     
    # print the hours.
    print(int(total / 3600) , end= " : ")
    total %= 3600
     
    # print the minutes.
    print(int(total / 60) , end=": ")
    total %= 60
     
    # print the hours.
    print(int(total))
 
# Driven Code
m = [ 0, 2, 3, 2, 1 ]
s = [ 45, 31, 11, 27, 28 ]
n = len(m)
printSum(m, s, n)
 
# This code is contributed by "Sharad_Bhardwaj".


C#
// C# Program to find the
// sum of all duration in
// the form of MM : SS.
using System;
 
class GFG
{
     
    // Print sum of all duration.
    static void printSum(int []m,
                    int []s, int n)
    {
        int total = 0;
     
        // finding total seconds
        for (int i = 0; i < n; i++)
        {
            total += s[i];
            total += (m[i] * 60);
        }
     
        // print the hours.
        Console.Write(total / 3600 + " : ");
        total %= 3600;
     
        // print the minutes.
        Console.Write(total / 60 +": ");
        total %= 60;
     
        // print the hours.
        Console.Write(total);
    }
     
    // Driver code
    public static void Main ()
    {
        int []m = {0, 2, 3, 2, 1 };
        int []s = { 45, 31, 11, 27, 28 };
        int n = m.Length;
         
        printSum(m, s, n);
    }
}
 
// This code is contributed by vt_m.


PHP


Javascript


输出:

0 : 10: 22