Faça um programa que dado o vetor unidimensional [2 ; 4 ; 35 ; 50 ; 23 ; 17 ; 9 ; 12 ; 27 ; 5] retorne:
sub conjunto de valores primos que está contido no vetor

Passo 1

Opa, vou resumir o que o exercício pede: dado o vetor unidimensional
[2;,4;,35;,50;,23;,17;,9;,12;,27;,5]
a gente precisa retornar só os valores que são números primos.
Conteúdo: teoria de números primos e como testar primalidade (tentativa de divisão).

Passo 2

Primeiro, o que é um número primo?
Um número inteiro n bmod d = 0, é primo se ele só for divisível por 1 e por ele mesmo.
Pra testar isso na prática, usamos o método de tentativa de divisão:
– A gente calcula e testa todos os divisores de até .
– Se existir algum tal que
então não é primo. Se nenhum divide , aí é primo.

Passo 3

Testando :
, então não há nenhum divisor inteiro de entre 2 e .
Logo, 2 é primo.

Passo 4

Testando 4 bmod 2 = 0, :
. Tentamos :
achamos divisor, então 4 não é primo.

Passo 5

Testando :
. Testamos :
não divide
não divide
não divide
divide!
Logo, 35 não é primo.

Passo 6

Testando 50 bmod 2 = 0, :
. Já com :
logo não é primo.

Passo 7

Testando :
. Testamos :
, , .
Nenhum zero, então 23 é primo.

Passo 8

Testando :
. Testamos :
, , .
Nenhum zero, então 17 é primo.

Passo 9

Testando :
. Testamos :

→ divide, logo não é primo.

Passo 10

Testando :
. Testamos :
→ já dá divisor, não é primo.

Passo 11

Testando :
. Testamos :

→ divide, não é primo.

Passo 12

Testando :
. Testamos :
→ não divide, então 5 é primo.

Resposta

O subconjunto de valores primos é
[2;,23;,17;,5]

Exercícios relacionados