TEMA

PROBLEM 1676 - URI Fórum 1.0

URI Online Judge preguntado 6 years ago

URI Online Judge Fórum 1.0

MOD

Este tema fue resuelto y no puede recibir nuevas respuestas.

  • youtube.com/FelipeMota0 respondido 5 years ago

    Uma dica para quem não está conseguindo, adaptem o Crivo de Eratóstenes para o problema e conseguiram o ACC

  • Thiago501 respondido 5 years ago

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int n,i,j=0,cont=0,pos=0,v[3001],aux=0,k=0,vfinal[3000],v1[10]= {2,3,5,7,11,13,17,23,27,29,31,37};
        for(i=2; i<3001; i++)
        {
            v[j]=i;
            j++;
        }
        aux=0;
        for(i=v[aux]; i<=4;i++)
        {
    
            for(j=aux; j<=3000; j++)
            {
    
                if(cont==i)
                {
                    cont=0;
                    v[j]=v[j+1];
                }
            cont++;
            }
        cont=0;
        aux++;
        }
        for(i=0; i<=3000; i++)
        {
            if(v[i]!=v[i+1]&&v[i]!=0)
            {
                vfinal[k]=v[i];
                k++;
            }
    
        }
    
        for(i=0; i<=10; i++)
        {
            printf("%d\n",vfinal[i]);
        }
        return 0;
    }

    Alguém pode apontar o erro no meu código?o vetor pega os números 19,35 e outros q não deveriam

  • 🧙The Install Wizard 🧙 respondido 5 years ago

    Da uma olhada nos tópicos anteriores. Especificamente a resposta do Cristhian.

  • Tyrone Damasceno respondido 5 years ago

    Uma duvida, pela lógica que eu imaginei, seriam os números primos a partir do dois a sequência a ser respondida.

    Logo:

    2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83...

    Então, o vigésimo seria 71 e não 83. Porém nos casos de teste mostra que pra entrada 20 tem saída 83. Alguma sugestão?

  • Giovani respondido 5 years ago

    Eu fiz isso e ainda assim timelimit, mesmo com ele previamente filtrado para 2 e 3. Vou procurar mais sobre como otimizar.

  • André Luiz Bittencourt respondido 5 years ago

    Amigo uma dica que demorei pra sacar é que voce deve fazer um vetor ja com as respostas antes do usuario digitar o valor de "n" .

  • Giovani respondido 5 years ago

    Consegui um algoritmo que gera as respostas, porém não em tempo hábil. Alguma dica para otimizar?

  • Cristhian Bonilha respondido 6 years ago

    Eu pensei o mesmo na época. O que acontece é que sempre que se um competidor é tirado da fila ele para de ser contabilizado. Ou seja, se você estiver procurando o terceiro competidor atrás do 3, e os competidores 4, 6 e 8 já foram removidos, o próximo competidor a ser removido será o 9, pois você vai contar na ordem: 5, 7, [9].

  • Everton Borges respondido 6 years ago

    Olá a todos, gostaria de tirar uma duvida referente ao exemplo do problema,

    na linha onde n=20, o saída não deveria ser 71 ?