Hola y bienvenido de nuevo.
Quería darte otra desafío, otra tarea.
Obviamente, este va ser todo sobre matrices.
Quiero que te familiarices con como utilizar una matriz, cómo acceder a una matriz
y cómo crear una matriz.
Entonces deberías escribir un programa en c eso va a encontrar todos los números
primos del 3 al 100.
Y vamos a hacer muy eficientemente.
Entonces usaremos un poco algoritmo que te hace usar
una matriz, pero un programa muy simple.
Solo se mostrará como salida, todos los números primos del 3 al 100.
Y la razón por la que no haces 0 para 3 es porque los vas a
codificar, es bastante simple.
Primeros 2 nuestros primeros 2 números primos son 1 y 2 que no son 0.
Entonces no habrá entrada a este programa, solo imprímalo.
Y la salida va a ser cada número primo separado por
un espacio en una sola línea.
Es bastante básico todo el camino hasta 100.
Vas a necesitar crear una matriz que almacenará cada
número primo a medida que se genere.
Puedes codificar el primero 2 números primos, que son 2 y
3 en la matriz de primos.
Entonces, lo que me imagino aquí es que
crearías una matriz, la nombrarías primos y simplemente codifique los primeros 2 allí.
Y es importante codificar ellos también porque el
algoritmo que vamos a utilizar para encontrar los números primos se compararán con cualquier
otro número primo, y Te lo explicaré en un segundo.
Quieres utilizar los bucles para que esta asignación solo encuentre los números
primos hasta 100.
Así que de buenas a primeras, deberías imagina un bucle al menos para
mostrar los números primos que encontraste.
Entonces ese probablemente sería el final bucle, el bucle
al final de su programa que pasa por la matriz de primos y muestra todo
lo que hay dentro.
ahora si estas encontrando todo lo mejor números hasta 100, no necesitará hacer
que el tamaño de la matriz probablemente más de 50 porque no
creo que haya más de 50 primos números, hasta 100, pero no
podrá configurarlo exactamente correctamente porque no sabes cuántos números
primos hay.
Entonces yo diría que cuando creas el primes array, solo haz un tamaño de 100.
Entonces definitivamente necesitas un bucle para imprimirlos al final.
vas a necesitar otro bucle para tratar de encontrar los números primos.
Y puedes encontrar los números primos algoritmo que desee, pero lo
que usaría es usar algo como esto porque hay más razones para usar una matriz si
usa este algoritmo.
Entonces, los criterios que se pueden usar
para identificar un número primo es que un número se considera primo si no es divisible uniformemente por
otros números primos anteriores.
Y tambien hay mas a ese algoritmo, pero ese es
el punto de partida.
Tu tambien quieres solo mirar hasta cierto número.
Entonces puede usar lo siguiente como x condición en el bucle más interno.
Así que de nuevo, ¿qué vas a necesitar? tener aquí es
probablemente necesitará tener 2 bucles.
Ya mencionamos el tercero bucle en la
parte inferior imprimiendo los datos, pero necesitará tener 2 bucles para esta tarea.
Y el algoritmo que estoy discutiendo aquí hay un algoritmo más mejorado.
Entonces es por eso que quieres hacerlo.
Ahora, si quieres encontrar números primos de una manera diferente, está bien
siempre que use una matriz porque el El
propósito de la asignación no es comprender los números primos, es para entender cómo usar matrices.
Mirando lo anterior números primos generados que te obligan a usar una
matriz y almacenar que cada número primo a medida que se
genera como mencioné.
Y la otra forma en que puedes hacer lo que es aún más óptimo es que no desea mirar
números pares.
Entonces, si estás pasando por cada número de 3 a 100 y
está comprobando si es primo, puede ignore los números pares porque los números
pares nunca serán primos.
Entonces, en el bucle más externo o el bucle más
interno, puede verificar si el primo es divisible por el otros números primos o asegúrese de que ni siquiera puede
verificarlo y omitirlo.
Y luego esta otra condición del eje en el bucle más interno es para
asegurarse de que el valor de la p no exceder la raíz cuadrada de los números primos, esa es
otra parte del algoritmo.
Así que esto podría no tener mucho sentido, pero básicamente estos son algunos de los criterios que
quiero que sigas.
Omita las comprobaciones de números pares, y luego el algoritmo es buscar los
números primos anteriores que se generaron y también para comprobar si p
no exceder la raíz cuadrada de los números primos porque esa es otra forma
de comprobar si hay un número primo.
Entonces vas a necesitar tener un bucle for que básicamente
va de 5 a 100 y luego puedes incremente eso en 2 para que
solo busque números impares.
Y luego en un bucle for interno tener ahí dentro,
vas a querer pasar del 1 al otro el valor p dividido por sub-I principal es mayor que igual
a sub-I principal.
Y probablemente también querrás hacer asegúrese de que el número no sea primo.
Entonces no quieres exceder un cierto cheque y luego también desea saltar del bucle interno
si de hecho, encontró un número primo.
Y así, la forma en que puedes comprobar número primo si su número actual es divisible
por cualquier primo anterior, para que pueda ver la matriz de primes.
Y si el módulo para eso es igual a 0, entonces no tienes
un número primo.
De lo contrario, si ha hecho esto verifique todo este
bucle y saldrá de allí con ya exceder el primer sub-I es
mayor que el primer sub-I la raíz cuadrada problema y en realidad no encontró
un número primo, entonces eso significa que luego puede agregar ese número primo a su matriz de primos y luego
simplemente imprima la matriz de primes.
Entonces el algoritmo real no parece tan confuso como lo estoy haciendo.
De nuevo, trata de darte como muchas sugerencias de pseudocódigo allí como sea
posible con el exterior para bucle en el bucle for interior.
Pero vas a necesitar acceder matrices,
vas a leer matrices, vas a mirar una matriz para ver los valores anteriores.
Te va a atrapar muy familiarizado con las matrices.
Así que buena suerte y te proporcionaré un solución en la próxima conferencia que
tendrá mucho más sentido, pero estos son los requisitos y algunos aciertos.
Gracias.