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
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