Informática Reto 1 de programación: Generar los primeros x números primos, animate y pon tú solución

Eso es porque internamente, aunque tú le pongas un step 2 en el bucle, en ensamblador pasa por todos los números cuando el compilador lo desenrolla. Lo único que consigues con el step es poner más saltos.
Yo no quería entrar en tecnicismos pero es eso

Cuando el bucle se desenrolla se encuentra un range y el compilador no sabe lo que es eso o lo que va a generar porque como he dicho se calcula en tiempo de ejecución

Pero si pones el +=2 el compilador pillará el mensaje y desenrollará de forma correcta con lo que será más rápido


Asi que informático también eh, no seas flojo, ponte algo :triston:
mañana hago los cambios que habéis sugerido y a ver qué tal
 
Hay que dejar paso a la juventud. Vosotros venís con más ganas. Pero si os molan los piques de este tipo, pasaros por el UVa online judge, hay tenéis problemas algorítmicos para mediros las pollas todo lo que queráis. Sí tenéis curiosidad podéis ver mi perfil allí, también lo tengo en hackerrank otra web del estilo.

Yo no soy de esos, he participado en competiciones nacionales pero es que no es mi estilo, de vez en cuando hago mis katas pero es que ya no me aportan mucho, llega un punto en que son una perdida de tiempo y lo dejas

Yo voy a usar constexpr para calcular los primos en tiempo de compilación y que sea instánteno imprimirlos y como ves he puesto la solución más simple y sencilla que hay pudiendo haber hecho lo de soltar el micro al suelo e irme sabiendo que no podrán mejorar eso

Otra cosa es que me digas un "no hay huevos" y entonces la cosa cambia :qmeparto: :qmeparto:

Para mi no es una competición como tal, yo sabía que le iba a ganar simplemente porque no uso la basura que es Python pero ya que te pones pues eso, a ver si se anima alguien más
 
Yo no soy de esos, he participado en competiciones nacionales pero es que no es mi estilo, de vez en cuando hago mis katas pero es que ya no me aportan mucho, llega un punto en que son una perdida de tiempo y lo dejas

Yo voy a usar constexpr para calcular los primos en tiempo de compilación y que sea instánteno imprimirlos y como ves he puesto la solución más simple y sencilla que hay pudiendo haber echo lo de soltar el micro al suelo e irme sabiendo que no podrán mejorar eso

Otra cosa es que me digas un "no hay huevos" y entonces la cosa cambia :qmeparto: :qmeparto:

Para mi no es una competición como tal, yo sabía que le iba a ganar simplemente porque no uso la basura que es Python pero ya que te pones pues eso, a ver si se anima alguien más
pero si solo has puesto una muestra incompleta
no se puede fardar de polla sin sacarla de la bragueta chacho
:qmeparto:
cuando pongas tu script y nos digas alguna manera de ejecutarlo podrás decir que sabías que ibas a ganar
de momento solo veo faroles

poker face GIF by TV Land
 
Yo no soy de esos, he participado en competiciones nacionales pero es que no es mi estilo, de vez en cuando hago mis katas pero es que ya no me aportan mucho, llega un punto en que son una perdida de tiempo y lo dejas

Yo voy a usar constexpr para calcular los primos en tiempo de compilación y que sea instánteno imprimirlos y como ves he puesto la solución más simple y sencilla que hay pudiendo haber hecho lo de soltar el micro al suelo e irme sabiendo que no podrán mejorar eso

Otra cosa es que me digas un "no hay huevos" y entonces la cosa cambia :qmeparto: :qmeparto:

Para mi no es una competición como tal, yo sabía que le iba a ganar simplemente porque no uso la basura que es Python pero ya que te pones pues eso, a ver si se anima alguien más
Lo bueno de Hackerrank es que te dan budgets y certificados que luego los puedes poner en el LinkedIn, mira:

Screenshot_2024-10-18-00-58-52-548_com.android.chrome.webp

Y porque no me quise sacar más porque ya lo consideré suficiente en su momento 😅🤣 Hoy en día sé bastante más, esto creo que lo hice hace 3 o 4 años.
 

Cada uno cuenta la historia como la vive, no hay nada de malo en ello

Que sepas que me ha recordado a los tiempos en los que todo FC se me echaba encima por defender mi postura de que Python es una basura infecta y aunque ha pasado tiempo mantengo la postura, es un lenguaje para gente que no quiere o sabe programar sin interés alguno por aprender

Voy a poner un código muy pero que muy sencillo porque es la forma más rápida, si no supiese ese truco pues pondría la FFT (la transformada de Fourier) que es el método más rápido que existe para factorizar un número y que es algo que definitivamente no explicaría

Ahora me pongo y lo hago en el descanso, no voy a tardar mucho porque no es nada del otro mundo
 
Cada uno cuenta la historia como la vive, no hay nada de malo en ello

Que sepas que me ha recordado a los tiempos en los que todo FC se me echaba encima por defender mi postura de que Python es una basura infecta y aunque ha pasado tiempo mantengo la postura, es un lenguaje para gente que no quiere o sabe programar sin interés alguno por aprender

Voy a poner un código muy pero que muy sencillo porque es la forma más rápida, si no supiese ese truco pues pondría la FFT (la transformada de Fourier) que es el método más rápido que existe para factorizar un número y que es algo que definitivamente no explicaría

Ahora me pongo y lo hago en el descanso, no voy a tardar mucho porque no es nada del otro mundo
Shur
Llevo desde ayer esperando tu script
Aquí nadie te ha atacado a ti, ni a lo que sabes hacer, ni al lenguaje que usas
Eres tú el que lo ha hecho
Por lo tanto, atente a las consecuencias 🤣

El objetivo del reto, ante todo, era echarse unas risas haciendo una chorrada de script y ver cuál era más rápido
Tómatelo como quieras
yo no me lo estoy tomando en serio, a pesar de tus críticas y la discordia que creas
No sé si es con intención o es que eres así de chulo

Pero si te metes en la competición por ver quién es más chulo
pues yo soy el más chulo
que pa eso soy de barrio de Madrid y tengo más calle que las farolas

Hablando de farolas
yo no me he tirado ningún farol
Lo has hecho tú
Y te vuelvo a repetir que estoy deseando ver tu script y que me digas cómo ejecutarlo
Porque en caso de ser más rápido que mi script, quiero saber cómo lo has hecho y aprender de ello

Mientras eso no ocurra solo veo faroles por tu parte

No te rayes por la web porque la borraré cuando tus faroles nos iluminen finalmente

Hasta el momento, seguimos esperando
 
Shur
Llevo desde ayer esperando tu script
Aquí nadie te ha atacado a ti, ni a lo que sabes hacer, ni al lenguaje que usas
Eres tú el que lo ha hecho
Por lo tanto, atente a las consecuencias 🤣

El objetivo del reto, ante todo, era echarse unas risas haciendo una chorrada de script y ver cuál era más rápido
Tómatelo como quieras
yo no me lo estoy tomando en serio, a pesar de tus críticas y la discordia que creas
No sé si es con intención o es que eres así de chulo

Pero si te metes en la competición por ver quién es más chulo
pues yo soy el más chulo
que pa eso soy de barrio de Madrid y tengo más calle que las farolas

Hablando de farolas
yo no me he tirado ningún farol
Lo has hecho tú
Y te vuelvo a repetir que estoy deseando ver tu script y que me digas cómo ejecutarlo
Porque en caso de ser más rápido que mi script, quiero saber cómo lo has hecho y aprender de ello

Mientras eso no ocurra solo veo faroles por tu parte

No te rayes por la web porque la borraré cuando tus faroles nos iluminen finalmente

Hasta el momento, seguimos esperando

Por mi la puedes dejar, ya digo que no me molesta, me recuerda otros tiempos que ya no volverán porque no uso apenas mi cuenta de FC y desde luego menos para debatir nada tal como esta el patio, esto es por las risas y asi lo acepto, te aseguro que si molestase algo yo lo suelo decir

Me voy a poner ahora pero como quiero que sea sencillo de usar y de probar pues va a ser más complicado, yo podría coger el "basico" que he puesto en el principio, calculo todos los primos y los meto en una cadena en build.rs (ocurre en tiempo de compilación) y cuando entre al main ya tiene una cadena de texto con todos los primos y lo único que tiene que hacer es imprimirla. Tardará en compilar lo que tarde en ejecutarse el código con normalidad porque es eso, lo va a ejecutar, precalcula la lista antes siquiera de compilar nada más

Y lo que voy a tratar es de que funcione en la web usando CONST (que es más pocho que constexpr de C++) en el que resultado es algo peor pero parecido, el string lo tendrá que crear el main porque en Rust los string no son const, una limitación que no tienes en build.rs porque tienes acceso a casi todo del lenguaje

PD Ademas cuento con el añadido de que Dios programa y yo solo dejo que me guie, no puedes luchar contra un poder divino, una de las muchas ventajas de ser clérigo y un siervo de Dios, en momentos como este te ayuda un poquito :elrisas:
 
Por mi la puedes dejar, ya digo que no me molesta, me recuerda otros tiempos que ya no volverán porque no uso apenas mi cuenta de FC y desde luego menos para debatir nada tal como esta el patio, esto es por las risas y asi lo acepto, te aseguro que si molestase algo yo lo suelo decir

Me voy a poner ahora pero como quiero que sea sencillo de usar y de probar pues va a ser más complicado, yo podría coger el "basico" que he puesto en el principio, calculo todos los primos y los meto en una cadena en build.rs (ocurre en tiempo de compilación) y cuando entre al main ya tiene una cadena de texto con todos los primos y lo único que tiene que hacer es imprimirla. Tardará en compilar lo que tarde en ejecutarse el código con normalidad porque es eso, lo va a ejecutar, precalcula la lista antes siquiera de compilar nada más

Y lo que voy a tratar es de que funcione en la web usando CONST (que es más pocho que constexpr de C++) en el que resultado es algo peor pero parecido, el string lo tendrá que crear el main porque en Rust los string no son const, una limitación que no tienes en build.rs porque tienes acceso a casi todo del lenguaje

PD Ademas cuento con el añadido de que Dios programa y yo solo dejo que me guie, no puedes luchar contra un poder divino, una de las muchas ventajas de ser clérigo y un siervo de Dios, en momentos como este te ayuda un poquito :elrisas:
tu argumento religioso me recuerda a Terry Davis
el que hizo Temple OS porque Dios se lo pidió para comunicarse con los humanos

suelta una invi de fc anda
que quiero ir allí a tronar a un forero al que tengo mucha inquina
 
tu argumento religioso me recuerda a Terry Davis
el que hizo Temple OS porque Dios se lo pidió para comunicarse con los humanos

suelta una invi de fc anda
que quiero ir allí a tronar a un forero al que tengo mucha inquina

Si ganas el reto miraría de conseguirte una :gaydude:

Untitled00.webp


En otra cuenta que tengo, que creo que aun tengo puede que quedasen algunas pero en FC las cuentas que no se usan te las quitan y se apropian para usarlas los foreros a sueldo y las invitaciones también te las quitan para usarlas ellos, hace años que no entro asi que cuenta con que no tengo porque es lo más probable

Pero vamos, si es un "protegido" pierdes el tiempo, el foro lo controlan medios de comunicación y ya lidian con insultos a diario, no en FC donde hay una censura brutal pero si en otras plataformas que no controlan, tú solo serías uno más de muchos otros
 
Si ganas el reto miraría de conseguirte una :gaydude:



En otra cuenta que tengo, que creo que aun tengo puede que quedasen algunas pero en FC las cuentas que no se usan te las quitan y se apropian para usarlas los foreros a sueldo y las invitaciones también te las quitan para usarlas ellos, hace años que no entro asi que cuenta con que no tengo porque es lo más probable

Pero vamos, si es un "protegido" pierdes el tiempo, el foro lo controlan medios de comunicación y ya lidian con insultos a diario, no en FC donde hay una censura brutal pero si en otras plataformas que no controlan, tú solo serías uno más de muchos otros
menuda mafia tienen montada
es un pipa, nadie importante
pero si para mi
solo quiero ir a tocarle los guebos e incomodarle
 
Me voy a poner ahora pero como quiero que sea sencillo de usar y de probar pues va a ser más complicado, yo podría coger el "basico" que he puesto en el principio, calculo todos los primos y los meto en una cadena en build.rs (ocurre en tiempo de compilación) y cuando entre al main ya tiene una cadena de texto con todos los primos y lo único que tiene que hacer es imprimirla. Tardará en compilar lo que tarde en ejecutarse el código con normalidad porque es eso, lo va a ejecutar, precalcula la lista antes siquiera de compilar nada más
Si te he entendido bien, esto es hacer trampa, ¿no?. El ejecutable que entregas no hace los cálculos y entonces no tarda una mierda, pero tardó al compilar. Que lo mismo no te he entendido bien...
 
Si te he entendido bien, esto es hacer trampa, ¿no?. El ejecutable que entregas no hace los cálculos y entonces no tarda una mierda, pero tardó al compilar. Que lo mismo no te he entendido bien...

¿La trampa está en?

Tú haces el uso de la tecnología más eficiente que puedas, Python y muchos otros lenguajes al no ser compilados (lo del JIT y derivados no es compilar) no pueden hacerlo, los lenguajes compilados pueden

Trampa sería tener un ejecutable, abrirlo con un dissambler y meterle la cadena de texto con el resultado a la fuerza en la que previamente has dejado un hueco suficiente y en main apuntas a esa parte de memoria pero esto es pura honestidad, el lenguaje lo permite y por lo tanto es lo que voy a usar

El programa tiene que imprimir los primos, si los calcula antes o durante es indiferente, en ambos casos cumplirá el objetivo

Pero vamos, como digo esto es por aprender y enseñar al resto, yo podría plantar un algoritmo increiblemente complicado que los vaya calculando que no os podría explicar y pues eso, no serviría de nada, de esta otra forma muchos vereis que lo que hago es una posiblidad, a lo mejor os es útil en un futuro

Lo que voy a hacer, al hacerlo fácil en vez de previo a la compilación tiene sus desventajas, la raíz cuadrada por ejemplo no se puede usar, o un bucle for, no es la panacea que os pensais que es, estoy en ello y lo subiré puede que hoy ya que no creo que se anime nadie más
 
Voy a poner un código muy pero que muy sencillo porque es la forma más rápida, si no supiese ese truco pues pondría la FFT (la transformada de Fourier) que es el método más rápido que existe para factorizar un número y que es algo que definitivamente no explicaría
La FFT no se usa para factorizar números, se usa para multiplicar eficientemente números grandes. Otra cosa es que tengas un algoritmo que la usa para hacer cosas que terminan en una factorización.
 
¿La trampa está en?

Tú haces el uso de la tecnología más eficiente que puedas, Python y muchos otros lenguajes al no ser compilados (lo del JIT y derivados no es compilar) no pueden hacerlo, los lenguajes compilados pueden

Trampa sería tener un ejecutable, abrirlo con un dissambler y meterle la cadena de texto con el resultado a la fuerza en la que previamente has dejado un hueco suficiente y en main apuntas a esa parte de memoria pero esto es pura honestidad, el lenguaje lo permite y por lo tanto es lo que voy a usar

El programa tiene que imprimir los primos, si los calcula antes o durante es indiferente, en ambos casos cumplirá el objetivo

Pero vamos, como digo esto es por aprender y enseñar al resto, yo podría plantar un algoritmo increiblemente complicado que los vaya calculando que no os podría explicar y pues eso, no serviría de nada, de esta otra forma muchos vereis que lo que hago es una posiblidad, a lo mejor os es útil en un futuro

Lo que voy a hacer, al hacerlo fácil en vez de previo a la compilación tiene sus desventajas, la raíz cuadrada por ejemplo no se puede usar, o un bucle for, no es la panacea que os pensais que es, estoy en ello y lo subiré puede que hoy ya que no creo que se anime nadie más
Me refiero a que la trampa es que tienes un código que imprime una lista de números. Los números los has calculado previamente. Y sí, yo también opino que python es una castaña que oculta la complejidad que tiene por dentro. @Jorge2019 ya conoce más que de sobra mi opinión al respecto.
 
No sé cómo se puede estar complicando tanto este reto
Es un script
nada más
Todo lo que se haga fuera de ese script está fuera del reto

Podéis decir lo que queráis de Python
yo no he dicho nada sobre lo que hacen los demás
Sin embargo soy el único que ha cumplido

Es curioso 🤗

Por eso ayer mencionaba si habría un limite de tiempo
pasan las horas
Mucho bla bla y poco lerele, como diría mi santa madre

Cómo nadie habla sobre el tema los limites los voy a poner yo


El reto consiste en hacer un script
El reto se acaba esta noche a las 00:00
El que no ponga el script en este hilo antes de esa hora queda fuera del reto


Ale
A correr
 
Me refiero a que la trampa es que tienes un código que imprime una lista de números. Los números los has calculado previamente. Y sí, yo también opino que python es una castaña que oculta la complejidad que tiene por dentro. @Jorge2019 ya conoce más que de sobra mi opinión al respecto.

Es que esto sería como quejarse de que un ordenador de 64 bits tiene más precisión que uno de 32 u 8 bits, hay que hacer un uso de lo que tenemos al alcance y pues hay hardware mejor que otro, de la misma forma hay software mejor que otro para según que casos

Los numeros se calculan previamente pero es con código, no me los voy a sacar de la chistera

Y la FFT es para multiplicar matrices pero si uno hace ciertas cosas se puede factorizar de forma matricial, como ser ataca el problema con más de un número a la vez (es decir, prueba si es par, divisible por tres y por 5 al mismo tiempo) pues es lo más eficiente que tenemos hoy en día si usa un método de multiplicación rápido, es como si mañana se decubre una forma nueva usando números complejos, los números complejos son para poder representar incongruencias matemáticas pero pueden servir para algo más. Ojo que la FFT tiene sus problemas, ya entramos en probabilidades, para números de 8 cifras como es el caso no pasa nada pero en cuanto son grandecitos cuidado que puede que diga que un número es compuesto cuando es primo, hay que saber usar cada cosa en su sitio y lugar
 
Es que esto sería como quejarse de que un ordenador de 64 bits tiene más precisión que uno de 32 u 8 bits, hay que hacer un uso de lo que tenemos al alcance y pues hay hardware mejor que otro, de la misma forma hay software mejor que otro para según que casos

Los numeros se calculan previamente pero es con código, no me los voy a sacar de la chistera

Y la FFT es para multiplicar matrices pero si uno hace ciertas cosas se puede factorizar de forma matricial, como ser ataca el problema con más de un número a la vez (es decir, prueba si es par, divisible por tres y por 5 al mismo tiempo) pues es lo más eficiente que tenemos hoy en día si usa un método de multiplicación rápido, es como si mañana se decubre una forma nueva usando números complejos, los números complejos son para poder representar incongruencias matemáticas pero pueden servir para algo más. Ojo que la FFT tiene sus problemas, ya entramos en probabilidades, para números de 8 cifras como es el caso no pasa nada pero en cuanto son grandecitos cuidado que puede que diga que un número es compuesto cuando es primo, hay que saber usar cada cosa en su sitio y lugar

Un script
nada más
Hazlo como puedas
Tienes hasta las 00:00
 
No sé cómo se puede estar complicando tanto este reto
Es un script
nada más
Todo lo que se haga fuera de ese script está fuera del reto

Podéis decir lo que queráis de Python
yo no he dicho nada sobre lo que hacen los demás
Sin embargo soy el único que ha cumplido

Es curioso 🤗

Por eso ayer mencionaba si habría un limite de tiempo
pasan las horas
Mucho bla bla y poco lerele, como diría mi santa madre

Cómo nadie habla sobre el tema los limites los voy a poner yo


El reto consiste en hacer un script
El reto se acaba esta noche a las 00:00
El que no ponga el script en este hilo antes de esa hora queda fuera del reto


Ale
A correr

Estoy con una web sidosa programando mientras sigo haciendo mis cosas y foreando

Y me esta costando más porque de otra forma tendrías que bajarte entre 15 y 25 GB de SDK, en windows para usar Rust necesitas el Windows SDK al que ademas te instalará de forma obligatoria el Visual Studio Pro, en España los que no usamos Windows somos una minoria asi que es por todo el mundo, para que pueda entrar en un sitio de forma cómoda, darle a un boton y ver que funciona

Si me da tiempo pues lo subiré y sino pues nada, yo ya he dicho que es lo que voy a hacer, el plazo de tiempo si esto hubiese empezado el sábado y hoy domingo fuese el fin pues bueno, te lo podría aceptar sin problemas pero es que no es el caso, yo tengo que seguir trabajando y haciendo mis cosas

A mi los retos de ir corriendo con la lengua fuera no me gustan, yo quiero mi espacia para poder disfrutarlos a mi manera y por eso dejé de competir a nivel nacional, porque no me gusta hacerlo asi
 
Estoy con una web sidosa programando mientras sigo haciendo mis cosas y foreando

Y me esta costando más porque de otra forma tendrías que bajarte entre 15 y 25 GB de SDK, en windows para usar Rust necesitas el Windows SDK al que ademas te instalará de forma obligatoria el Visual Studio Pro, en España los que no usamos Windows somos una minoria asi que es por todo el mundo, para que pueda entrar en un sitio de forma cómoda, darle a un boton y ver que funciona

Si me da tiempo pues lo subiré y sino pues nada, yo ya he dicho que es lo que voy a hacer, el plazo de tiempo si esto hubiese empezado el sábado y hoy domingo fuese el fin pues bueno, te lo podría aceptar sin problemas pero es que no es el caso, yo tengo que seguir trabajando y haciendo mis cosas

A mi los retos de ir corriendo con la lengua fuera no me gustan, yo quiero mi espacia para poder disfrutarlos a mi manera y por eso dejé de competir a nivel nacional, porque no me gusta hacerlo asi
Shur
Ayer tarde 20 minutos en hacer el script
antes de cenar, cuando se te ocurrió lo del reto
 
Es que esto sería como quejarse de que un ordenador de 64 bits tiene más precisión que uno de 32 u 8 bits, hay que hacer un uso de lo que tenemos al alcance y pues hay hardware mejor que otro, de la misma forma hay software mejor que otro para según que casos

Los numeros se calculan previamente pero es con código, no me los voy a sacar de la chistera

Y la FFT es para multiplicar matrices pero si uno hace ciertas cosas se puede factorizar de forma matricial, como ser ataca el problema con más de un número a la vez (es decir, prueba si es par, divisible por tres y por 5 al mismo tiempo) pues es lo más eficiente que tenemos hoy en día si usa un método de multiplicación rápido, es como si mañana se decubre una forma nueva usando números complejos, los números complejos son para poder representar incongruencias matemáticas pero pueden servir para algo más. Ojo que la FFT tiene sus problemas, ya entramos en probabilidades, para números de 8 cifras como es el caso no pasa nada pero en cuanto son grandecitos cuidado que puede que diga que un número es compuesto cuando es primo, hay que saber usar cada cosa en su sitio y lugar
Cuando hablo de trampa me refiero a que el tiempo que tienes que medir tendría que ser el que tardas desde que no tienes nada hasta que imprimes el resultado. Eso de decir que tarda muy poco porque está precalculado es la trampa que digo. Si en la compilación hay cálculos que consumen tiempo es parte del tiempo que has de medir. Lo contrario sería como decir que el objetivo en una carrera es pasar el primero por la línea de meta y que por tanto da igual si yo empiezo a correr a 40 metros de la meta mientras que los demás parguelas empiezan a 100 metros. No se si me explico, o que no te he entendido bien (supongo que es esto último).

Lo de la FFT lo he entendido, solo quería decir que la FFT no es un instrumento de factorización, es una herramienta que usas junto a otras al factorizar o al hacer otras cosas, yatusabe.

También está lo que dices, no tanto acerca de los métodos de factorización como de los criterios de primalidad, acerca de probabilidades. Hay criterios de primalidad muy rápidos pero que no te garantizan con certeza que un número sea primo, aunque casi siempre acierten. Pero eso tiene más que ver con un hilo de teoría de números y cosas así que con este. Lo malo es que eso es tan complicado de entender, incluso para matemáticos que no son de esa especialidad, que malamente podríamos tener un hilo sobre eso que no fuese trivial. Pero si lo hubiese sí lo seguiría, aunque sin participar porque no podría aportar nada :(
 
La propuesta del reto fue ayer a las 16:45h
yo me puse sobre las 22h
lo que pasa es que la basura de lenguaje de Python hace que el tiempo se pare y pueda programar más rápido que @JC Denton
porque Python es una mierda, es más lento y no vale para nada

Luego fueron los algoritmos... Tal y tal y tal
Que no sabes cómo hacer bien, tal y tal y tal

Casi 24h después...

Es que claro, quiero hacerlo tranquilamente
porque lo voy a hacer así y asao y tal y tal y tal
 
@JC Denton por si te sirve para algo, parece que se pueden hacer cosas con VS Code https://learn.microsoft.com/es-es/windows/dev-environment/rust/setup

Lo del Visual Studio Pro, según ponen en el enlace, parece que no es imprescindible (que sea el Pro), viene una nota donde comentan que tienes el Community. Pero nunca he visto nada de Rust en el instalador, así que cojo esto último con pinzas.
 
Entonces cuándo acaba el plazo?
El 17 de febrero de 2025?
 
Pues le he pedido a una IA que escriba el programa ese, porque no tengo ni idea del algoritmo en cuestión ni tampoco sé programar, y me ha escrito esto. Le he pedido que lo comente para enterarme. Va con el freepascal. La verdad es que tarda mucho rato en escribir todos esos números. Me pregunto si me sobran ceros.

Código:
program criba;
// La criba de Eratostenes es un chisme para encontrar todos los numeros primos hasta un numero determinado.
// Funciona marcando como no primos los multiplos de cada número primo a medida que se encuentran, comenzando desde el número 2.
// De esta manera, se eliminan todos los números compuestos, quedando solo los números primos.

const
    n = 10000000; // n es el numero hasta el cual encontramos los primos

var
    esPrimo: array[2..n] of boolean;
    i,j: longint; // estos son los indices de los bucles de la criba, i el de fuera y j el de dentro
    // un longint aqui es 32 bits, con lo que llegamos hasta 10 millones, necesitas 3 bytes para cubrir la cosa del foro

begin
    // hacemos un array donde ponemos si es primo o no con un booleano
    // llenamos el array de ciertos
    for i:=2 to n do
        esPrimo[i] := true;
    // empezamos por el dos
    i:=2;
    while i*i <= n do
    // si i*i es mayor que n, entonces todos los numeros desde i a n que quedan ya son primos, y eso
    begin
        if esPrimo[i] then // esto marca como falsos todos los multiplos de i, cuando hemos llegado al limite, vamos a i+1
        begin
            j:=i*i;
            while j <= n do
            begin
                esPrimo[j]:=false; // j no puede ser primo, porque es divisible por i
                j:=j+i; // este es el siguiente multiplo de i
            end;
        end;
        i:=i+1; // vamos al siguiente numero
    end;

    // ahora escribimos los primos, son primos los que pone true en el array ese de esPrimo, si pone false, pos entonces no son primos
     writeln ('Primos hasta ',n, ':');
     for i:= 2 to n do
         if esPrimo[i] then
             write(i, ' ');
    writeln;
end.
 
Última edición:
Pues le he pedido a una IA que escriba el programa ese, porque no tengo ni idea del algoritmo en cuestión ni tampoco sé programar, y me ha escrito esto. Le he pedido que lo comente para enterarme. Va con el freepascal. La verdad es que tarda mucho rato en escribir todos esos números. Me pregunto si me sobran ceros.

Código:
program criba;
// La criba de Eratostenes es un chisme para encontrar todos los numeros primos hasta un numero determinado.
// Funciona marcando como no primos los multiplos de cada número primo a medida que se encuentran, comenzando desde el número 2.
// De esta manera, se eliminan todos los números compuestos, quedando solo los números primos.

const
    n = 100000000; // n es el numero hasta el cual encontramos los primos

var
    esPrimo: array[2..n] of boolean;
    i,j: longint; // estos son los indices de los bucles de la criba, i el de fuera y j el de dentro
    // un longint aqui es 32 bits, con lo que llegamos hasta 10 millones, necesitas 3 bytes para cubrir la cosa del foro

begin
    // hacemos un array donde ponemos si es primo o no con un booleano
    // llenamos el array de ciertos
    for i:=2 to n do
        esPrimo[i] := true;
    // empezamos por el dos
    i:=2;
    while i*i <= n do
    // si i*i es mayor que n, entonces todos los numeros desde i a n que quedan ya son primos, y eso
    begin
        if esPrimo[i] then // esto marca como falsos todos los multiplos de i, cuando hemos llegado al limite n, vamos a i+1
        begin
            j:=i*i;
            while j <= n do
            begin
                esPrimo[j]:=false; // j no puede ser primo, porque es divisible por i
                j:=j+i; // este es el siguiente multiplo de i
            end;
        end;
        i:=i+1; // vamos al siguiente numero
    end;

    // ahora escribimos los primos, son primos los que pone true en el array ese de esPrimo, si pone false, pos entonces no son primos
     writeln ('Primos hasta ',n, ':');
     for i:= 2 to n do
         if esPrimo[i] then
             write(i, ' ');
    writeln;
end.
Has puesto 100 millones no?
Son 10
 
Volver
Arriba