PArceiro não tem mistério, aqui no exemplo eu fiz a solicitação do valor para o usuário com o scanf(), atribuindo o valor a variável entrada, e dentro de um loop while que itera até qua a entrada do usuário seja (-1) realizo o teste, que nada mais é que outro loop, no caso utilizei um laço for que vai de 1 até o valor de entrada, testando seus divisores com o (módulo) caso o resto seja 0, quer dizer que o numero testado é um divisor do numero fornecido pelo usuário.
Espero ter ajudado.
/*
* File: main.cpp
* Author: joao
*
* Elaborar um algoritmo que peça ao usuário a entrada de um número entre 1 e 100,
* retornando os divisores desse número.
*/
#include <stdlib.h>
#include <stdio.h>
#include<math.h>
using namespace std;
int main(int argc, char** argv) {
int entrada = 0;
while(entrada !=-1){
printf("\nDigiete um numero ou < -1 > para ecerrar:");
scanf("%d",&entrada);
for(int i=1;i<entrada;i++){
if(entrada%i==0){
printf("\nO Numero [%d] é um divisor de [%d]",i,entrada);
}
}
}
}
Este algoritmo serve para qualquer valor inteiro suportado pela linguagem C, para resolver, basta usar o operador MOD (%), que retorna o resto da divisão, se o retorno for 0 (zero), quer dizer que o dividendo é divisor do valor informado. Exemplo: 2%2 = 0 logo 2 é divisor de 2.
Para saber todos os divisores de um numero qualquer entre 1 e 100 basta colocar essa operação dentro de um for, percorrendo todos os valores de 1 até n e só exibimos os divisores de n.
#include<stdio.h>
//----------ALGORITMO PARA VERIFICAR DIVISORES DE UM INTEIRO-------------------
int main(){
//valor -> armazenará o valor a ser verificado.
int valor;
printf("Insira um valor para verificar os seus divisores: ");
scanf("%d", &valor);
printf("\n");
for (int i = valor; i != 0; i--){
if (valor % i == 0){ //Operador MOD em ação
printf("%d e divisor de %d\n", i, valor);
}
}
return 0;
}
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar