quarta-feira, 9 de março de 2016

Programa de cálculo de números Primos em C

Bom dia!,

Lembram do algoritmo de exibição dos números primos ? (clique aqui) . Resolveremos o mesmo utilizando a linguagem C hoje.

Segue o código comentado abaixo:

int main() {

int v_qtde; /*Quantidade de numeros primos exibidos */
int v_cont1, v_cont2;
int v_cont_primo;
int v_resto_div;

v_cont_primo = 1;

/*Lê qtde numeros primos exibidos */

printf("Digite a quantidade de numeros primos que deseja exibir : \n");
scanf("%d", &v_qtde);

printf("Numeros primos : \n");

v_cont1 = 0;

while( v_qtde != 0 ) /* Enquanto a quantidade for diferente de 0 */
{
v_cont1 = v_cont1 + 1;
v_cont_primo = 0;
v_cont2 = 1;

while(v_cont1 >= v_cont2 ) /*Enquanto os contadores forem diferentes,
o contador 2 percorrerá de 1 até contador1 para verificar a quantidade de 
números divisíveis onde o resto for igual a 0. */
{

v_resto_div = v_cont1 % v_cont2 ; /* operador % pega o resto da divisao*/


if(v_resto_div == 0)  /* conta a quantidade de divisoes que tiverem 0 como resto*/
{
v_cont_primo = v_cont_primo + 1;
}

v_cont2 = v_cont2 + 1;

}

if(v_cont_primo <= 2) /*Se for menor ou igual a 2, o numero é primo( divisível por 1 e por ele mesmo*/
{
printf("\n  %d", v_cont1);
v_qtde = v_qtde - 1 ; /*Subtrai a quantidade, até 0*/
}

}

printf("\n");

return 0;
}

Testando:



Acho legal comparar esse programa com o inicial feito em português estruturado.

Obs.: Tente digitar um número negativo. Boa sorte na resolução deste problema !



Nenhum comentário:

Postar um comentário