Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   spoj.com help (https://www.clubdelphi.com/foros/showthread.php?t=76936)

luisito2011 06-12-2011 17:51:51

spoj.com help
 
hola.. saludoj a todoj... bueno primero graciaj por la ayuda de decimal a binario
.... ahora tengo un problemon... no se si conocen la pagina spoj.pl... bueno
mi docente..(lo odio) .. me dio un trabajo practico el cual consiste en resolver
8 ejercicios de esa pagina.. cosa.. que no entiendo ...:mad: .. resolvi algunoj..
pero no me sale aceptar.. me sale [color=Red]time limit exceeded [color=Black].. me dijieron que es por que
mi programa.. tarda muxo en realizar el trabajo...aparte que no se entiende muy bien.. las preguntas .. aca una pregunta que hice.. pero me sale time limit....

Código Delphi [-]
Peter quiere generar algunos números primos por su sistema de cifrado. Ayudarle! Su tarea es generar todos los números primos entre dos números dados!
Entrada

La entrada comienza con la t número de casos de prueba en una sola línea (t <= 10). En cada una de las siguientes líneas de t hay dos números m y n (1 <= m <= n <= 1000000000, nm <= 100000), separadas por un espacio.
Salida

Por cada caso de prueba de impresión todos los números primos p tales que m <= p <= n, un número por línea, casos de prueba separados por una línea en blanco.
Ejemplo

  De entrada:
 2
 1 10
 3 5

 Salida:
 2
 3
 5
 7

 3
 5


ok a lo que yo entendi hice este cogido el cual corre perfectamente.. hace lo de la entrada y salida .... por fa alguien que me diga
que esta por demas.. en mi codigo.. oh que hago para que corra mas rapido.. bueno graciaj..:cool:
Código Delphi [-]
#include 
#include 

using namespace std;
short es_primo(int numero)
{
  int con;
  con=0;
  for (int i=1;i<=numero; i++)
    {
    if (numero % i == 0)
      con++;
    }
  if (con==2)
    return 1;
  else
    return 0;
}

int main(int argc, char *argv[])
{
    int t,Numero_A,Numero_B,aux,Numero;
  cout<<"Ingresar Un Valor >1 y <=10: ";
  cin>>t; 
  while (t > 0)
    {
    cin>>Numero_A>>Numero_B;
       if( Numero_A > Numero_B)
      {
        aux=Numero_A;
        Numero_A=Numero_B;
        Numero_B=aux;
      }
      Numero=Numero_A;
      cout<for(int i=Numero_A; i<=Numero_B; i++)
        {
        if(es_primo(Numero)==1)
            {
               cout<
        Numero++;
        }
      cout<

oscarac 06-12-2011 17:54:11

Luisito
se te extrañaba....
Doc.. ud ya no es nuevo...
ponga titulos que se pueda entender......

luisito2011 06-12-2011 17:56:20

Cita:

Empezado por oscarac (Mensaje 420618)
Luisito
se te extrañaba....
Doc.. ud ya no es nuevo...
ponga titulos que se pueda entender......

zorry es q como el problema esta en esa pagina.. talvej alguien la conoce..

luisito2011 06-12-2011 17:58:44

por alguna razon x.. mi codigo quedo pegado mal jijiji .. aca el codigo..
Código:

#include <cstdlib>
#include <iostream>

using namespace std;
short es_primo(int numero)
{
    int con;
    con=0;
    for (int i=1;i<=numero; i++)
    {
        if (numero % i == 0)
            con++;
    }
    if (con==2)
        return 1;
    else
        return 0;
}

int main(int argc, char *argv[])
{
    int t,Numero_A,Numero_B,aux,Numero;
    cout<<"Ingresar Un Valor >1 y <=10: ";
    cin>>t;
    while (t > 0)
    {
        cin>>Numero_A>>Numero_B;
        if( Numero_A > Numero_B)
        {
            aux=Numero_A;
            Numero_A=Numero_B;
            Numero_B=aux;
        }
        Numero=Numero_A;
        cout<<endl;
        for(int i=Numero_A; i<=Numero_B; i++)
        {
            if(es_primo(Numero)==1)
            {
                cout<<Numero;
                cout<<endl;
            }
            Numero++;
        }
        cout<<endl;
        t--;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}


ecfisa 06-12-2011 19:03:06

Hola Lusito2011.

Cuando leí el título vine para borrar el mensaje pensando que era spam. Los títulos, por favor, los títulos...

Código:

#include<math.h>
#include<iostream.h>
#include<conio.h>
int main(int argc, char* argv[])
{
int Desde, Hasta, Primo = 1;
  cout << "NUMEROS PRIMOS (Ingrese valores desde/hasta) \nDesde:";
  cin >> Desde;
  cout << "Hasta:";
  cin >> Hasta;
  cout << endl;
  for(int i = Desde; i <= Hasta; i++){
    int c = 2;
    do {
      Primo = i % c;
      c++;
    } while(Primo && (c < sqrt(c)));
    if(Primo) cout << i << " ";
  }
  getch();
}

Saludos.

Edito: Una consulta, ¿ Algun problema con la tecla 's' ?

luisito2011 06-12-2011 22:50:29

ok si tu codigo si funciona para mostrar los primos dado 2 numeros..
pero esa no es la respuesta.. ocea... que nada que ver con lo que dice
mi pregunta.. pliz lean... no ej q sea exigente oh kiero que me resuelvan
kiero que me aclaren las dudas que tengo..

por que me dice que mi codigo tarda mucho en hacer la tarea ....:mad:

ecfisa 07-12-2011 01:26:20

Cita:

Empezado por luisito2011 (Mensaje 420652)
ok si tu codigo si funciona para mostrar los primos dado 2 numeros..
pero esa no es la respuesta.. ocea... que nada que ver con lo que dice
mi pregunta.. pliz lean... no ej q sea exigente oh kiero que me resuelvan
kiero que me aclaren las dudas que tengo..

por que me dice que mi codigo tarda mucho en hacer la tarea ....:mad:

Creo que por ahí pasa la cosa Luisito. Al menos yo no entiendo claramente cuando expones tus dudas. ¿ Has pensado en esa posibilidad ? ;)

Quizá encuentres la respuesta aca: Algorítmos de factorizacion en números primos

Saludos.


La franja horaria es GMT +2. Ahora son las 23:06:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi