¿Qué tiene de malo el siguiente código C ++ para PRIME1 en SPOJ?

He realizado algunos cambios en su código y está funcionando.

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

#include
#include
#include using namespace std; int main()
{ bool primes[100002];
int i,n=100002,t;
long long int j; for(i=0;i<n;i++)
{
primes[i]=1;
}
primes[0]=0;
primes[1]=0; for(i=2;i<=sqrt(n);i++)
{
if(primes[i]==1)
{
for(j=2;i*j<=n;j++)
{
primes[i*j]=0;
}
} }
//storing the prime numbers
long long int prime_nos[100002]={0};
int k = 0; for(i=2;i<100002;i++)
{
if(primes[i]==1)
{
prime_nos[k] = i;
k++;
}
} scanf("%d",&t);
while(t--)
{ long long int n,m;
scanf("%lld%lld",&n,&m); for(j=n;j<=m;j++)
{
int limit = sqrt(j)+1;
int flag = 0;
i = 0; while(prime_nos[i]<limit) //edited
{
if(j%prime_nos[i]==0)
{
flag = 1;
break;
}
i++;
} if(flag == 0 && j>1) //edited
printf("%lld\n",j);
} } return 0;
}

Hay tres cosas a considerar.
1. Debe agregar “printf (” \ n “);” después de cada caso de prueba.
2. También está dando 1 como número primo, así que marque “flag == 0 && j! = 1” en lugar de “flag == 0”.
3. No estás considerando 2 en la respuesta. Para eso escriba “limit = sqrt (j);” en lugar de “limit = sqrt (j) +1;”

More Interesting

¿Conoces alguna biblioteca de diario E2PROM que pueda usarse en controladores de 8 bits o al menos un algoritmo para hacerlo?

¿Cuál es su opinión sobre Interview Cake para resolver algoritmos?

¿Qué es la notación O grande? ¿Y deberían saberlo los programadores principiantes?

¿Qué libro debo consultar para estructuras de datos en c ++?

¿Cómo abordar este problema gráfico? ¿Es NP-completo?

¿Cuál es el mejor algoritmo de búsqueda en programación?

¿Debo aprender el concepto profundo del aprendizaje automático como el curso de Andrew Ng o es suficiente para saber qué algoritmo se utiliza cuando?

Dada una matriz S de n enteros, ¿hay elementos a, b, c en S tales que a + b + c = 0? ¿Encuentra todos los tripletes únicos en la matriz que da la suma de cero?

¿Cómo analizar la complejidad de caso promedio de un algoritmo? ¿Hay alguna fuente para aprenderlo paso a paso de lo básico?

¿En qué situación podemos usar el algoritmo EM para encontrar la probabilidad?

Cómo tomar una matriz 1d y convertir la matriz en una matriz 2d en una función c ++ para que la matriz ahora sea 2d en main ()

¿Cuál es la mejor manera de demostrar sus habilidades como ingeniero de software junior durante una entrevista que no sea la implementación de algoritmos sofisticados y estructuras de datos?

¿Por qué BFS no puede resolver todos los problemas de ruta más corta de una sola fuente?

¿Cómo aprenden los algoritmos de aprendizaje de refuerzo del juego de ajedrez a jugar bien, dado que cada movimiento no está etiquetado como bueno o malo, a diferencia del aprendizaje supervisado donde cada dato está etiquetado como bueno o malo?

Cómo implementar la idea de algoritmos en MATLAB