Exercício 048 – módulo 03

Home Fóruns Programação Básica Exercício 048 – módulo 03

Visualizando 3 respostas da discussão
  • Autor
    Posts
    • #155537

      Bom dia! Tenho uma dúvida quanto ao exercício 048 do módulo 03.
      Um número primo é aquele que possui apenas 2 divisores, certo?
      Então por que o professor Guanabara usa a condição “total de divisores <= 2”? não deveria na verdade ser “total de divisores == 2”? pois números primos possuem apenas 2 divisores…
      Também gostaria de entender por que a condição para ser um número primo foi “num % c == 0” e não “num % num == 0”.
      Qual seria o problema em ser “num % num == 0”?
      Poderia me explicar de uma forma bem simples?
      Obrigada!

    • #155548
      Tutora Jessica
      Moderador

      Ola Isabela me envie seu código para eu entender melhor sua duvida.

    • #155557

      funcao inicio()
      {
      inteiro num, c, totdiv = 0
      escreva(“Digite um número: “)
      leia(num)
      para (c = 1; c <= num; c++) {
      se (num % c == 0) {
      escreva(“[“, c,”]”, ” “)
      totdiv = totdiv + 1`
      } senao {
      escreva(c, ” “)
      }
      }//fim do para
      escreva(“\nO número “, num, ” foi divisível “, totdiv, ” vezes.”)
      se (totdiv <= 2) {
      escreva(“\nEntão o número “, num, ” É PRIMO!”)
      } senao {
      escreva(“\nLogo, o número “, num, ” NÃO É PRIMO!”)
      }

      }
      }

    • #155563
      Tutora Jessica
      Moderador

      Vou tentar te explicar de forma simples:

      – Por que usar “total de divisores <= 2" em vez de "total de divisores == 2"? Embora os números primos tenham exatamente 2 divisores, o professor Guanabara usou "total de divisores <= 2" para incluir o caso do número 1. O número 1 tem apenas 1 divisor (ele mesmo), então não é considerado primo. No entanto, se usássemos "total de divisores == 2", o número 1 não seria considerado primo, mas também não seria considerado não primo. Usando "total de divisores <= 2", o professor Guanabara pode cobrir ambos os casos: números primos (com 2 divisores) e o número 1 (com 1 divisor). - Por que usar "num % c == 0" em vez de "num % num == 0"? A condição "num % c == 0" é usada para verificar se o número "num" é divisível pelo número "c". Se usássemos "num % num == 0", estaríamos verificando se o número "num" é divisível por ele mesmo, o que sempre seria verdade! Isso porque qualquer número dividido por ele mesmo sempre dará resto 0. Portanto, essa condição não seria útil para verificar se um número é primo. Já "num % c == 0" permite verificar se o número "num" é divisível por outros números "c", o que é essencial para determinar se um número é primo.

Visualizando 3 respostas da discussão
  • Você deve fazer login para responder a este tópico.