Verifica se determinado numero é primo

22 09 2008

Um programa simples pra verificar se um determinado numero é ou não primo, lembrando que um determinado numero é primo se o mesmo for divisível somente por ele mesmo e 1 alias o numero 1 não é
primo e 2 é o único par primo…
exemplos de números primos:
2, 3, 5, 7, 11, 13 etc…
bom chega de papo matemático e segue o programa:

#include<stdio.h>
#include<math.h>

/* Criado em:Sex 19/Set/2008 hs 22:23
 Autor: MRSantos mrsantos4@ucs.com */

int primo(int v);

int main(int argc, char *argv[])
{
        int p;
        p = atoi(argv[1]);

        // um help de como usar o programa
        if(argc != 2)
        {
                printf("Uso: %s n\n", argv[0]);
                return -1;
        }

        // 1 nao eh primo...
        if(p <= 1)
        {
                printf("%d nao eh primo...\n", p);
                return -1;
        }

        // dois eh o unico par primo...
        if(p == 2)
        {
                printf("%d eh primo...\n", p);
                return 0;
        }

        if(primo(p))
                printf("%d eh primo...\n", p);
        else
                printf("%d nao primo...\n", p);

       return 0;
}

int primo(int v)
{
        int i, primo = 1;

        // unico par primo eh dois e ele ja testei no main
        if( v % 2 == 0)
        {
                return 0;
        }

        for(i = 3; i <= sqrt(v); i+= 2)
        {
                if(v % i == 0)
                {
                        primo = 0;
                        return primo;
                }
        }
                        return primo;
}

Um exemplo e uso do mesmo:.
compilando o programa:
gcc -o primos primos.c -lm
./primos 5
5 eh primo…

Obs: os valores são passados por parâmetro :)
abraços e até mais
Marcio


Ações

Informações

Uma resposta

8 04 2009
Christiano A.

Fiz um teste neste programa e meu compilador Dev C++ nao identifica a string “atoi”, o que ela representa? Ela realmente nao tem de ser declarada?
Agradeço..
Christiano

Deixe um comentário