Exercício: verificar se dois números são múltiplos

Fala galera da programação, tudo beleza?
Hoje vamos fazer um exercício com números múltiplos.
O que são números múltiplos?
Números múltiplos são números que podem ser obtidos multiplicando-se um número inteiro por outro. Em outras palavras, um número é considerado um múltiplo de outro se puder ser dividido por esse outro número sem deixar resto.
Por exemplo:
- 6 é um múltiplo de 2, pois 6 dividido por 2 é igual a 3, sem resto.
- 15 é um múltiplo de 5, pois 15 dividido por 5 é igual a 3, sem resto.
- 9 é um múltiplo de 3, pois 9 dividido por 3 é igual a 3, sem resto.
Em resumo, se ao dividirmos um número (denominado “a”) por outro número (denominado “b”) e o resto da divisão for igual a zero, então “a” é um múltiplo de “b”.
Dicas do exercício
Para realizar esta verificação, devemos dividir os dois números entre si e verificar se o resto da divisão é igual a zero.
Exemplo de saída: se o usuário informar os números 3 e 21, a mensagem “ São múltiplos” deverá ser mostrada na tela. Se o usuário informar os números 5 e 7, a mensagem “ Não são múltiplos” deverá ser mostrada na tela.
Outro ponto importante é que para resolver este problema, duas divisões devem ser realizadas. No primeiro exemplo, devemos dividir 3/21 e 21/3. Se uma das duas divisões resultar em resto zero (21/3), então os dois números serão múltiplos.
Vamos aos códigos!
Exemplo em C++
/******************************************************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*******************************************************************************/
#include <iostream>
using namespace std;
int main() {
int num1, num2;
// Solicita ao usuário que digite dois números inteiros
cout << "Digite o primeiro número inteiro: ";
cin >> num1;
cout << "Digite o segundo número inteiro: ";
cin >> num2;
// Verifica se os números são múltiplos entre si
if (num1 % num2 == 0 || num2 % num1 == 0) {
cout << "São múltiplos" << endl;
} else {
cout << "Não são múltiplos" << endl;
}
return 0;
}
A estratégia utilizada foi bastante direta e baseada na definição de múltiplos. Aqui está uma explicação passo a passo:
- Entrada de dados: O programa solicita ao usuário que insira dois números inteiros, armazenando esses valores nas variáveis
num1enum2. - Verificação de múltiplos: O programa verifica se os números são múltiplos entre si. Isso é feito verificando se o resto da divisão de
num1pornum2é zero OU o resto da divisão denum2pornum1é zero. Se uma dessas condições for verdadeira, então os números são múltiplos um do outro. - Saída de mensagem: Dependendo do resultado da verificação, o programa exibe a mensagem “São múltiplos” ou “Não são múltiplos” na tela.
Exemplo em C
/******************************************************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*******************************************************************************/
#include <stdio.h>
int main() {
int num1, num2;
// Solicita ao usuário que digite dois números inteiros
printf("Digite o primeiro número inteiro: ");
scanf("%d", &num1);
printf("Digite o segundo número inteiro: ");
scanf("%d", &num2);
// Verifica se os números são múltiplos entre si
if (num1 % num2 == 0 || num2 % num1 == 0) {
printf("São múltiplos\n");
} else {
printf("Não são múltiplos\n");
}
return 0;
}
Neste código em C, os comandos printf e scanf são usados para entrada e saída, respectivamente. A lógica para verificar se os números são múltiplos é a mesma que foi explicada anteriormente para o código em C++.
Exemplo em Pascal / Delphi / Lazarus
(**************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
***************************************)
program VerificarMultiplos;
var
num1, num2: Integer;
begin
// Solicita ao usuário que digite dois números inteiros
Write('Digite o primeiro número inteiro: ');
Readln(num1);
Write('Digite o segundo número inteiro: ');
Readln(num2);
// Verifica se os números são múltiplos entre si
if (num1 mod num2 = 0) or (num2 mod num1 = 0) then
Writeln('São múltiplos')
else
Writeln('Não são múltiplos');
end.
Neste código em Pascal, utilizamos os comandos Write e Readln para entrada e saída de dados, respectivamente. A lógica para verificar se os números são múltiplos é a mesma usada nos exemplos anteriores.
Exemplo em Python
'''
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
'''
# Solicita ao usuário que digite dois números inteiros
num1 = int(input("Digite o primeiro número inteiro: "))
num2 = int(input("Digite o segundo número inteiro: "))
# Verifica se os números são múltiplos entre si
if num1 % num2 == 0 or num2 % num1 == 0:
print("São múltiplos")
else:
print("Não são múltiplos")
Neste código em Python, usamos a função input() para obter a entrada do usuário e int() para converter essa entrada em números inteiros. Em seguida, verificamos se os números são múltiplos entre si usando a mesma lógica explicada anteriormente. Por fim, exibimos a mensagem correspondente na tela usando print().
Exemplo em C# / C Sharp
/******************************************************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*******************************************************************************/
using System;
class Program
{
static void Main()
{
int num1, num2;
// Solicita ao usuário que digite dois números inteiros
Console.Write("Digite o primeiro número inteiro: ");
num1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Digite o segundo número inteiro: ");
num2 = Convert.ToInt32(Console.ReadLine());
// Verifica se os números são múltiplos entre si
if (num1 % num2 == 0 || num2 % num1 == 0)
{
Console.WriteLine("São múltiplos");
}
else
{
Console.WriteLine("Não são múltiplos");
}
}
}
Neste código em C#, utilizamos Console.Write() e Console.ReadLine() para obter a entrada do usuário e Convert.ToInt32() para converter essa entrada em números inteiros. Em seguida, verificamos se os números são múltiplos entre si usando a mesma lógica explicada anteriormente. Por fim, exibimos a mensagem correspondente na tela usando Console.WriteLine().
Exemplo em Java
/******************************************************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*******************************************************************************/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1, num2;
// Solicita ao usuário que digite dois números inteiros
System.out.print("Digite o primeiro número inteiro: ");
num1 = scanner.nextInt();
System.out.print("Digite o segundo número inteiro: ");
num2 = scanner.nextInt();
// Verifica se os números são múltiplos entre si
if (num1 % num2 == 0 || num2 % num1 == 0) {
System.out.println("São múltiplos");
} else {
System.out.println("Não são múltiplos");
}
scanner.close();
}
}
Neste código Java, utilizamos a classe Scanner para obter a entrada do usuário. Em seguida, verificamos se os números são múltiplos entre si usando a mesma lógica explicada anteriormente. Por fim, exibimos a mensagem correspondente na tela usando System.out.println().
Exemplo em Rust
/******************************************************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*******************************************************************************/
use std::io;
fn main() {
let mut num1 = String::new();
let mut num2 = String::new();
// Solicita ao usuário que digite dois números inteiros
println!("Digite o primeiro número inteiro: ");
io::stdin().read_line(&mut num1)
.expect("Falha ao ler o número");
println!("Digite o segundo número inteiro: ");
io::stdin().read_line(&mut num2)
.expect("Falha ao ler o número");
let num1: i32 = num1.trim().parse().expect("Por favor, insira um número inteiro válido");
let num2: i32 = num2.trim().parse().expect("Por favor, insira um número inteiro válido");
// Verifica se os números são múltiplos entre si
if num1 % num2 == 0 || num2 % num1 == 0 {
println!("São múltiplos");
} else {
println!("Não são múltiplos");
}
}
Neste código em Rust, usamos o pacote padrão std::io para lidar com entrada e saída de dados. A lógica para verificar se os números são múltiplos entre si é a mesma explicada anteriormente. Por fim, exibimos a mensagem correspondente na tela usando println!().
O que podemos aprender neste exercício?
Neste exercício, podemos aprender alguns conceitos e práticas importantes:
- Entrada e saída de dados: Aprendemos como solicitar entrada de dados do usuário e exibir mensagens na tela, usando diferentes métodos dependendo da linguagem de programação utilizada. Em cada linguagem, há uma maneira específica de fazer isso, como por exemplo,
scanfeprintfem C,cinecoutem C++,input()eprint()em Python,Console.ReadLine()eConsole.WriteLine()em C#,ReadeWriteem Pascal, eScanner, eSystem.out.println()em Java. - Operadores matemáticos: Entendemos como usar operadores matemáticos para realizar cálculos e verificar relações entre números. No caso deste exercício, utilizamos o operador de módulo (
%) para calcular o resto da divisão entre dois números, permitindo-nos verificar se um número é múltiplo do outro. - Estruturas condicionais: Vimos como usar estruturas condicionais (como
if-elseem todas as linguagens) para tomar decisões com base em determinadas condições. Isso nos permitiu determinar se os números fornecidos pelo usuário são múltiplos um do outro e exibir mensagens correspondentes de acordo com o resultado. - Lógica de programação: Este exercício nos desafiou a pensar logicamente sobre como resolver o problema proposto. A lógica para verificar se dois números são múltiplos entre si é simples, mas requer uma compreensão clara dos conceitos matemáticos subjacentes e das estruturas de programação necessárias para implementá-la.
- Flexibilidade de linguagens: Ao implementar o mesmo problema em várias linguagens de programação, podemos observar como diferentes linguagens abordam a solução de maneiras semelhantes ou diferentes. Isso nos ajuda a entender as nuances de cada linguagem e a apreciar sua aplicabilidade em diferentes contextos.
Conclusão
Espero que tenham gostado pessoal. Isso faz parte da jornada do aprendizado. No geral, este exercício nos forneceu uma oportunidade valiosa para praticar habilidades de programação e expandir o conhecimento sobre diferentes linguagens de programação.
Dúvidas ou sugestão de outras linguagens? Deixe o seu comentário!
Um abraço e até o próximo post. Valeu!
#Algortimos #GiovaniDaCruz