English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C Language Basic Tutorial

C Language Flow Control

Função do C

Array do C

Ponteiro do C

String do C

C Language Structures

C Language Files

C Others

C Language Reference Manual

C program to find the greatest common divisor (GCD) of two numbers

大全 de Programação do C

Exemplos de cálculo do maior divisor comum de dois inteiros (inteiros positivos e negativos) usando loops e statements de decisão de diferentes maneiras.

Para entender este exemplo, você deve entender o seguinteC programmingTema:

O HCF ou GCD (maior divisor comum) de dois inteiros pode ser o inteiro maior que pode dividir os dois números exatamente (sem resto).

Existem muitos métodos para encontrar o maior divisor comum no C programming.

Exemplo1:O maior divisor comum usa loop for e if

#include <stdio.h>
int main()
{
    int n1, n2, i, gcd;
    printf("Insira dois inteiros: ");
    scanf("%d %d", &n1, &n2);
    for(i=1; i <= n1 && i <= n2; ++i)
    {
        // Verificar se i é um divisor dos dois inteiros
        if(n1%i==0 && n2%i==0)
            gcd = i;
    }
    printf("O MDC de %d e %d é %d", n1, n2, gcd);
    return 0;
}

Neste programa, os dois inteiros inseridos pelo usuário são armazenados nas variáveis n1e n2em. Em seguida, o loop for, até que i seja menor que n1e n2.

Em cada iteração, se n1e n2pode ser dividido por i, então o valor de i será atribuído a gcd.

Quando o loop for terminar, o maior divisor comum dos dois números será armazenado na variável gcd.

Exemplo2:O maior divisor comum usa loop while e if ... else

#include <stdio.h>
int main()
{
    int n1, n2;
    
    printf("Insira dois inteiros positivos: ");
    scanf("%d %d",&n1&n2);
    while(n1!=n2)
    {
        if(n1 > n2)
            n1 -= n2;
        else
            n2 -= n1;
    }
    printf("Maior Causa Comum = %d", n1);
    return 0;
}

Resultado de Saída

Insira dois inteiros positivos: 81
153
Maior Causa Comum = 9

Esta é uma maneira melhor de encontrar o maior divisor comum. Neste método, subtraí-se o inteiro menor do inteiro maior, e o resultado é atribuído à variável que armazena o inteiro maior. Este processo continua até que n1e n2iguais.

Apenas quando o usuário inserir um inteiro positivo, os dois programas acima funcionarão conforme esperado. Esta é uma modificação de alguns exemplos, que podem encontrar o maior divisor comum de números inteiros positivos e negativos.

Exemplo3:Os números positivos e negativos são os maiores divisores comuns

#include <stdio.h>
int main()
{
    int n1, n2;
    printf("Insira dois inteiros: ");
    scanf("%d %d",&n1&n2);
    // Se o usuário inserir um número negativo, o sinal desse número será alterado para positivo
    n1 = ( n1 > 0) ? n1 : -n1;
    n2 = ( n2 > 0) ? n2 : -n2;
    while(n1!=n2)
    {
        if(n1 > n2)
            n1 -= n2;
        else
            n2 -= n1;
    }
    printf("Maior Causa Comum = %d", n1);
    return 0;
}

Resultado de Saída

Entre dois inteiros: 81
-153
Maior Causa Comum = 9

Você também pode usarRecursão para encontrar o Maior Causa Comum.

大全 de Programação do C