Encuentra la suma máxima de dígitos del producto de dos números

Dada una array arr[] de tamaño N (> 2). La tarea es encontrar la suma máxima de dígitos del producto de dos números cualesquiera de la array dada.
Ejemplos: 
 

Entrada: arr[] = {8, 7} 
Salida: 11 
El producto de 8 y 7 es 56 . La suma de los dígitos de 56 es igual a 11 .
Entrada: arr[] = {4, 3, 5} 
Salida:
Producto de 4 y 3 = 12. Suma de los dígitos = 3. 
Producto de 3 y 5 = 15. Suma de los dígitos = 6. 
Producto de 4 y 5 = 20. Suma de los dígitos = 2.
 

Enfoque: ejecute bucles anidados para seleccionar dos números de la array y obtener el producto. Para cada producto, verifique la suma de dígitos y encuentre la suma máxima de dígitos.
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// C++ program find the maximum sum of
// digits of the product of two numbers
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the sum of the digits
int sumDigits(int n)
{
    int digit_sum = 0;
    while (n) {
        digit_sum += n % 10;
        n /= 10;
    }
    return digit_sum;
}
 
// Function to find the maximum sum of digits of product
int productOfNumbers(int arr[], int n)
{
    int sum = INT_MIN;
 
    // Run nested loops
    for (int i = 0; i < n - 1; i++) {
        for (int j = i + 1; j < n; j++) {
            int product = arr[i] * arr[j];
 
            // Find the maximum sum
            sum = max(sum, sumDigits(product));
        }
    }
 
    // Return the required answer
    return sum;
}
 
// Driver code
int main()
{
    int arr[] = { 4, 3, 5 };
 
    int n = sizeof(arr) / sizeof(arr[0]);
 
    cout << productOfNumbers(arr, n);
 
    return 0;
}

Java

// Java program find the maximum sum of
// digits of the product of two numbers
import java.io.*;
 
class GFG
{
 
// Function to find the sum of the digits
static int sumDigits(int n)
{
    int digit_sum = 0;
    while (n > 0)
    {
        digit_sum += n % 10;
        n /= 10;
    }
    return digit_sum;
}
 
// Function to find the maximum sum
// of digits of product
static int productOfNumbers(int []arr, int n)
{
    int sum = Integer.MIN_VALUE;
 
    // Run nested loops
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            int product = arr[i] * arr[j];
 
            // Find the maximum sum
            sum = Math.max(sum, sumDigits(product));
        }
    }
 
    // Return the required answer
    return sum;
}
 
// Driver code
public static void main (String[] args)
{
    int []arr = { 4, 3, 5 };
     
    int n = arr.length;
     
    System.out.print( productOfNumbers(arr, n));
}
}
 
// This code is contributed by anuj_67..

Python3

# Python3 program find the maximum sum of
# digits of the product of two numbers
import sys
 
# Function to find the sum of the digits
def sumDigits(n):
 
    digit_sum = 0;
    while (n > 0):
        digit_sum += n % 10;
        n /= 10;
     
    return digit_sum;
 
# Function to find the maximum sum
# of digits of product
def productOfNumbers(arr, n):
 
    sum = -sys.maxsize - 1;
 
    # Run nested loops
    for i in range(n - 1):
        for j in range(i + 1, n):
            product = arr[i] * arr[j];
 
            # Find the maximum sum
            sum = max(sum, sumDigits(product));
 
    # Return the required answer
    return sum;
 
# Driver code
if __name__ == '__main__':
 
    arr =[ 4, 3, 5 ];
 
    n = len(arr);
 
    print(int(productOfNumbers(arr, n)));
 
# This code contributed by PrinciRaj1992

C#

// C# program find the maximum sum of
// digits of the product of two numbers
using System;
 
class GFG
{
 
// Function to find the sum of the digits
static int sumDigits(int n)
{
    int digit_sum = 0;
    while (n > 0)
    {
        digit_sum += n % 10;
        n /= 10;
    }
    return digit_sum;
}
 
// Function to find the maximum sum
// of digits of product
static int productOfNumbers(int []arr, int n)
{
    int sum = int.MinValue;
 
    // Run nested loops
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            int product = arr[i] * arr[j];
 
            // Find the maximum sum
            sum = Math.Max(sum, sumDigits(product));
        }
    }
 
    // Return the required answer
    return sum;
}
 
// Driver code
public static void Main (String[] args)
{
    int []arr = { 4, 3, 5 };
     
    int n = arr.Length;
     
    Console.Write(productOfNumbers(arr, n));
}
}
 
// This code is contributed by 29AjayKumar

Javascript

<script>
 
    // Javascript program find the maximum sum of
    // digits of the product of two numbers
     
    // Function to find the sum of the digits
    function sumDigits(n)
    {
        let digit_sum = 0;
        while (n > 0) {
            digit_sum += n % 10;
            n = parseInt(n / 10, 10);
        }
        return digit_sum;
    }
 
    // Function to find the maximum sum of digits of product
    function productOfNumbers(arr, n)
    {
        let sum = Number.MIN_VALUE;
 
        // Run nested loops
        for (let i = 0; i < n - 1; i++) {
            for (let j = i + 1; j < n; j++) {
                let product = arr[i] * arr[j];
 
                // Find the maximum sum
                sum = Math.max(sum, sumDigits(product));
            }
        }
 
        // Return the required answer
        return sum;
    }
       
    let arr = [ 4, 3, 5 ];
   
    let n = arr.length;
   
    document.write(productOfNumbers(arr, n));
     
</script>

Producción: 
 

6

Publicación traducida automáticamente

Artículo escrito por isa_aanchal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *