Olá, seja bem-vindo de volta.
Eu queria te dar outro desafio, outra tarefa.
Obviamente, este está indo ter tudo a ver com matrizes.
Eu quero que você se familiarize com como para usar um array, como acessar um
array e como criar um array.
Então você deve escrever um programa c isso vai encontrar todos os números primos
de 3 a 100.
E nós vamos fazer muito eficientemente.
Então, vamos usar um pouco algoritmo que faz você usar
um array, mas um programa muito simples.
Vai apenas ser exibido como saída, todos os números primos de 3 a 100.
E a razão de você não fazer 0 para 3 é porque você irá codificar
aqueles, é muito simples.
Primeiros 2 nossos primeiros 2 números primos são 1 e 2 que não são 0.
Portanto, não haverá entrada para este programa, apenas a saída.
E a saída será cada número primo separado por um
espaço em uma única linha.
É bem básico, até 100.
Você vai precisar criar uma matriz que armazenará cada
número primo à medida que é gerado.
Você pode codificar o primeiro 2 números primos, que são 2
e 3 na matriz de primos.
Então, o que eu imagino aqui é que você
criaria um array, nomearia primos e apenas hard code os 2 primeiros lá.
E é importante codificar permanentemente eles também porque
o algoritmo que vamos usar para encontrar números primos serão comparados a quaisquer
outros números primos, e Vou explicar isso em um segundo.
Você deseja utilizar os loops para esta atribuição, encontre apenas os números
primos até 100.
Então, logo de cara, você deve imagine um loop pelo menos para exibir
os números primos que você encontrou.
Então esse seria provavelmente o final loop, o loop
no final do seu programa que passa por a matriz primes e exibe tudo o
que está lá dentro.
agora, se você está encontrando todos os principais números até 100, você não vai
precisar fazer o tamanho do array provavelmente mais de 50 porque não acho
que haja mais de 50 primos números, até 100, mas você não será
capaz de configurá-lo exatamente corretamente porque você não sabe quantos
números primos existem.
Então, eu diria que quando você cria o matriz primes, basta fazer um tamanho de 100.
Então você definitivamente precisa de um loop para imprimi-los no final.
você vai precisar de outro loop para tentar encontrar os números primos.
E você pode encontrar os números primos em qualquer algoritmo que você
quer, mas o que eu usaria é algo assim porque há mais razão para usar uma matriz se
você fizer esse algoritmo.
Portanto, os critérios que podem ser usados para
identificar um número primo é que um número é considerado primo se não for uniformemente divisível por quaisquer
outros números primos anteriores.
E também tem mais a esse algoritmo, mas esse é
o ponto de partida.
Você também quer apenas olhar até um certo número.
Então você pode usar o seguinte como um condição x no loop mais interno.
Então, novamente, o que você vai precisar para ter aqui é que
você provavelmente precisará de 2 loops.
Já mencionamos o terceiro loop na parte
inferior imprimindo os dados, mas você vai precisar tem 2 loops para esta tarefa.
E o algoritmo que estou discutindo aqui está um algoritmo mais aprimorado.
Então é por isso que você quer fazer isso.
Agora, se você quiser encontrar números primos de uma maneira diferente, está tudo
bem, desde que você use uma matriz porque o
todo o propósito da atribuição não é entender os números primos, é para entender como usar matrizes.
Olhando para o anterior gerou números primos que o força a
usar uma matriz e você armazene que cada número primo é
gerado conforme mencionei.
E a outra maneira que você pode fazer ainda mais ideal é que você não queira olhar para
números pares.
Então, se você está passando por cada número de 3 a 100 e
você está verificando se é primo, você pode ignore os números pares porque os
números pares nunca serão primos.
Então, no loop mais externo ou no loop mais interno,
você pode verificar se o primo é divisível pelo outros primos ou certifique-se de que não é mesmo você pode verificar
isso e pular.
E então esta outra condição do eixo no loop mais interno é certificar-se
de que o valor de p não exceder a raiz quadrada dos primos, essa é outra
parte do algoritmo.
Portanto, isso pode não fazer todo o sentido, mas basicamente esses são alguns dos critérios que quero
que você siga.
Ignore todas as verificações de números pares, e então o algoritmo deve procurar
por quaisquer números primos anteriores que foram gerados e também para verificar
se p não exceda a raiz quadrada dos primos porque essa é outra maneira
de verificar se há um número primo.
Então você vai precisar ter um loop for que basicamente vai de
5 a 100 e então você pode incremente isso em 2 para que você procure
apenas os números ímpares.
E então, em um loop for interno, você tem lá
dentro, você vai querer ir de 1 até esse outro o valor p dividido pelo sub-I primo é maior que igual
ao sub-I primo.
E você provavelmente também vai querer fazer certifique-se de que o número não é primo.
Então você não quer exceder um certa verificação e, em seguida, você também deseja pular para fora do loop
interno se você realmente encontrou um número primo.
E assim, a maneira como você pode verificar número primo se o seu número atual for divisível
por qualquer primo anterior, para que você possa olhar a matriz de primos.
E se o módulo para isso é igual a 0, então você não tem
um número primo.
Caso contrário, se você fez isso cheque todo em todo
esse loop e você já saiu de lá com exceder o sub-I primo
é maior do que o sub-I primo a raiz quadrada problema e você não
encontrou um número primo, isso significa que você pode adicionar esse número primo à sua matriz de primos e, em
seguida, apenas imprima a matriz de primos.
Portanto, o algoritmo real não parece tão confuso quanto eu estou fazendo.
Mais uma vez, tente dar-lhe como muitas dicas de pseudocódigo possíveis
com o externo para loop no loop for interno.
Mas você vai precisar acessar matrizes,
você vai ler matrizes, você vai olhar uma matriz para ver os valores anteriores.
Vai te pegar realmente familiarizado com matrizes.
Então, boa sorte, e eu irei providenciar um solução na próxima aula que fará
muito mais sentido, mas estes são os requisitos e alguns acertos.
Obrigada.