Pregunta de práctica de codificación TCS | HCF o GCD de 2 Números

Dados dos números, la tarea es encontrar el HCF de dos números usando argumentos de línea de comando . MCD (máximo común divisor) o HCF (máximo común divisor) de dos números es el número más grande que divide a ambos.

Ejemplos:

Input: n1 = 10, n2 = 20
Output: 10

Input: n1 = 100, n2 = 101
Output: 1

Acercarse:

  • Dado que los números se ingresan como argumentos de línea de comando , no hay necesidad de una línea de entrada dedicada
  • Extraiga los números de entrada del argumento de la línea de comando
  • Estos números extraídos serán de tipo String.
  • Convierta estos números en tipo entero y guárdelos en variables, digamos num1 y num2
  • Encuentra el HCF de los números. Una solución eficiente es utilizar el algoritmo euclidiano, que es el principal algoritmo utilizado para este propósito. La idea es que el MCD de dos números no cambia si se resta un número más pequeño de un número más grande.
  • Imprima o devuelva el HCF

Programa:

C

// C program to compute the HCF of two numbers
// using command line arguments
  
#include <stdio.h>
#include <stdlib.h> /* atoi */
  
// Function to compute the HCF of two numbers
int HCF(int a, int b)
{
    if (b == 0)
        return a;
  
    return HCF(b, a % b);
}
  
// Driver code
int main(int argc, char* argv[])
{
  
    int num1, num2;
  
    // Check if the length of args array is 1
    if (argc == 1)
        printf("No command line arguments found.\n");
  
    else {
  
        // Get the command line argument and
        // Convert it from string type to integer type
        // using function "atoi( argument)"
        num1 = atoi(argv[1]);
        num2 = atoi(argv[2]);
  
        // Find the HCF and print it
        printf("%d\n", HCF(num1, num2));
    }
    return 0;
}

Java

// Java program to compute the HCF of two numbers
// using command line arguments
  
class GFG {
  
    // Function to compute the HCF of two numbers
    static int HCF(int a, int b)
    {
        if (b == 0)
            return a;
  
        return HCF(b, a % b);
    }
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Check if length of args array is
        // greater than 0
        if (args.length > 0) {
  
            // Get the command line argument and
            // Convert it from string type to integer type
            int num1 = Integer.parseInt(args[0]);
            int num2 = Integer.parseInt(args[1]);
  
            // Find the HCF
            int res = HCF(num1, num2);
  
            // Print the HCF
            System.out.println(res);
        }
        else
            System.out.println("No command line "
                               + "arguments found.");
    }
}

Producción:

  • Cía:

  • En Java:

Publicación traducida automáticamente

Artículo escrito por RishabhPrabhu 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 *