Olá pessoal do fórum. Estou com dificuldades com uma atividade prática da minha faculdade. O professor quer um programa que calcule o mdc de dois ou mais números, e também liste todos os divisores comuns entre esses números. Já consegui fazer um algoritmo que calcule de dois numeros apenas. Mas com mais de dois numeros está difícil.
Segue a proposta:
Em qualquer linguagem de programação, implementar um algoritmo que, dadas duas ou mais entradas pelo usuário, apresente o MDC entre estes valores e o conjunto de todos os divisores dos valores inseridos como entrada, e salve esse resultado em arquivo .txt (o MDC em uma linha e o conjunto de divisores na linha seguinte).
Uma vez criado, o arquivo de saída sempre deverá ser incrementado, nunca substituído.
Segue o meu código que até o momento só salva os números do usuário em um vetor:
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("\t\t\tMDC de dois ou mais numeros\n\n"); /*Titulo */
int y = 0, resto, divisor, dividendo, x; /*Inicializacao de var's*/
printf("Com quantos numeros deseja trabalhar? ");
scanf("%d", &x); /*Guardando quantidade de numeros que o usuario deseja*/
int numeros[x+1];
if(x < 2) /*Um if para verificar erro se for menos que dois numeros*/
{
printf("\né dois ou mais numero filhao. Tente novamente!\n");
}else
{
/*A seguir um for para perguntar ao usuario os numeros e salvar no vetor*/
for(int z = 0, cont = 1, y = x; cont!=y+1 ;cont++, z++)
{
printf("\nDigite o n%d: ", cont);
scanf("%d", &numeros[z]);
}
}
return 0;
}
Qualquer ajuda é bem-vinda. Grato.