Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sobre um programa que verifica se um número é primo

eu gostaria de saber a diferença entre o programa:

num = int(input('digite um número: '))

if num > 1:
    for x in range(2, num):
        resto = num % x
        if resto == 0:
            print(f'o número {num} não é primo')
            break
    else:
        print(f'o número {num} é primo')
else:
    print(f'o número {num} não é primo')

e esse outro programa:

num = int(input('digite um número: '))

if num > 1:
    for x in range(2, num):
        resto = num % x
        if resto == 0:
            print(f'o número {num} não é primo')
            break
    else:
        print(f'o número {num} é primo')
else:
    print(f'o número {num} não é primo')
1 resposta
solução!

Oi Lucas, tudo bem?

Desculpe a demora em retornar.

Pelo que pude observar, os dois programas que você compartilhou são exatamente iguais. Ambos verificam se um número é primo ou não.

A lógica por trás desses programas é a seguinte: um número é considerado primo quando ele tem apenas dois divisores, o 1 e ele mesmo. Então, o programa pede para o usuário inserir um número e verifica se ele é maior que 1 (pois 1 não é considerado primo). Depois, ele faz um loop que vai de 2 até o número inserido pelo usuário (excluindo o próprio número) e verifica se o resto da divisão desse número por algum dos números desse intervalo é igual a zero. Se for, isso significa que o número tem mais divisores além de 1 e ele mesmo, então ele não é primo.

Se o resto da divisão não for zero para nenhum número desse intervalo, então o número é primo.

Espero ter ajudado.

Um abraço e bons estudos.