#30 Depende de la implementacion que se haga porque si lo haces bien no solo tienes que buscar hasta la mitad del numero que estas comprobando sino que incluso como bien se ha dicho ya, basta con la raiz cuadrada. Es decir si estas comprobando el 101, no hace falta que lo dividas desde el 1 al 50 y comprobando el resto, sino que con que compruebes del 1 al 10 sobra.
#29 con "ligera" optimización:
#include <stdio.h>
#include <math.h>
#include <time.h>
#define MAX 1000000000
int main(int argc, char *argv[])
{
if(argc==2)
{
int tope=atoi(argv[1]);
if(tope>=2 && tope<=MAX)
{
int *primos, i, j, total=1, tiempo_inicio, loes;
double raiz;
primos=(int*)malloc(tope*sizeof(int));
tiempo_inicio=time(NULL);
primos[0]=2;
printf("\n2 ");
for (i=3; i<tope; i+=2)
{
loes=1;
raiz=sqrt(i);
for (j=0; j<total && primos[j]<=raiz; j++)
{
if (i%primos[j] == 0)
loes=0;
}
if(loes)
{
primos[total++]=i;
printf("| %d ", i);
}
}
printf("\n\nTotal encontrados: [%d] Tiempo empleado: %d seg\n", total, time(NULL)-tiempo_inicio);
free(primos);
}
else
printf("\nError: 2<=tope<=%d\n", MAX);
}
else
printf("\nEl formato es: primos [numero_tope]\n");
return 0;
}
[/i]
Salu2
En vez de poner codigo y demostrar ke soys unos pr0's por hacer un algoritmo que diga numeros primos de 1 al 100 ¬¬ dar pistas y punto. O sino la siguiente practica, vendra aki con otro programita y preguntara.
Nesesito hacer un proyecto sobre generacion de sombras con opengl y stencil buffer con c++ y la libreria GLAUX
hay voluntarios?????
xDDDDDDD
enga va lo hago yo
No veas que optimización teniendo que usar raices.
#33
Si no sabe para empezar ni lo que es un número primo ...
//(En C)
#include <stdio.h>
int main(){
int primo=1;
int i;
int j;
for(i=2;i<100;i++){
for(j=2;j<i/2&&primo;j++){
if(i%j==0){
primo=0;
}
}
if(primo==1){
printf("Primo: %i\n",i);
}
primo=1;
}
return 1;
}
#34 Para las practicas de informatica grafica yo tuve que programarr desde 0 un visualizador tridimensional y tuve que implementar algoritmos de dibujo de lineas DDA, relleno por rastreo, ocultacion, eliminacion de caras posteriores, iluminacion y sombreado, sombras... Y sin la ayuda de librerias graficas... Lo tuyo esta tirao macho.
No veas que optimización teniendo que usar raices.
Quizá con los 100 primeros apenas se note, pero a medida que subes se nota y MUUUCHO. (Puedes probarlo si no te lo crees).
Salu2
PD: El código que has pegado está mal.
#32 desdeluego mas optimizado no se puede hacer la verda, seria el mas rapido en calcular hasta 1 billon, siempre y cuando la consola de xp no te de un error de no enviar xDD
#37 hombre si opengl fuera tan facil cualquiera de nosotros podria ser John Carmak
Lo que hecho en falta es mas documentacion en español q es practicamente inexistente.
Si alguien se anima a traducir esto seria de agradecer:
http://developer.nvidia.com/attach/6641
y ya que estamos es bastante mas divertido de hacer que numeros primos xD
Lo q dice 38 es verdad....optimizar a Sqrt(n) se nota....y mucho. Evidentemente no en 100 numeros, pq trabajamos con ordenadores muy rapidos....pero tenemos q suponer q podemos introducir infinitos numeros. Aun asi, si la xavala no sabe hacer esto, dudo q tenga q preocuparse de optimizar.
PD: Vas a suspender , te lo digo desde ya xDD
#34, Yo me apunto. No sé mucho de Stencil Buffers, pero sí he tocado Opengl/GLAUX alguna vez. Por otra parte...
(Tutoriales Opengl/GLAUX)
tienes que hacer una funcion que compruebe si el numero es primero o no. Esta debe devolver un booleano si es cierto pues que lo saque por pantalla sino que pase al siguiente.
Fijate que para comprobar si es primero o no debes empezar a dividir por la mitad del numero. Te pongo un ejemplo.
Si tienes el 10, empezaras a dividir por 5 ya que los superiores a este siempre te daran menos que 2.
EDIT: #45 es verdad, sabia que se empezaba a dividir por un numero mas bajo pero no me acordaba exactamente. Ni caso a lo de arriba
43 el problema de nehe es q esta en ingles
el trabajo ya lo hice jejeje queda chulo pero aprender stencil buffer es un poco dolor de cabeza, y sin documentacion en español no sabes ni de q va.
otra cosa q no me gusta de nehe es q los tutoriales los hacen creando ventana para windows(de una forma extraña), lo podrian simplificar bastante utilizando glaux/glut para fines educativos al menos.
solo me queda colgar el trabajo x ahi q seguro q alguien me lo agradecera.