Project Euler – Resolução do Execício 7

“By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.
What is the 10 001st prime number?”

#include <stdio.h>
#define ORDER 10001

int num = 0 ;
int contador;

int IsPrime(unsigned int valor);

int main(void)
{
    for(contador = 0  ; contador < ORDER ; )
    {
        num++;
        if(IsPrime(num))
        {
            contador++;
        }
    }

    printf("O %dº primo é %d\n", ORDER, num);

    return 0;
}

int IsPrime (unsigned int number)
{
    if (number <= 1)
        return 0;

    unsigned int i;

    for (i=2; i*i<=number; i++)
    {
        if (number % i == 0) return 0;
    }

    return 1;
}
Anúncios
Tagged with: , , ,
Publicado em Apresentação, C, Programação, Project Euler

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: