Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Como calcular e exibir os 50 primeiros números primos em C - Exercícios Resolvidos de CQuantidade de visualizações: 535 vezes |
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo. Escreva um programa C que usa um laço for, while ou do...while para calcular e exibir os 50 primeiros números primos. A saída do programa deverá ser parecida com: 50 primeiros números primos: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 Veja a resolução comentada deste exercício em C: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int quantidade = 50; // quantidade de números primos int contador = 0; // quantidade de números primos encontrados int numero = 0; // inteiro inicial int primo, j; // Lembre-se! O número 1 não é primo printf("%d primeiros numeros primos:\n\n", quantidade); // laço while será executado até encontrar os 50 primeiros números primos while(contador < quantidade){ primo = 1; // verdadeiro // se o valor de i for 7, a variável j do laço contará // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o // módulo de 7 por qualquer um dos valores neste intervalo // for igual a 0, então o número não é primo for(j = 2; j <= (numero / 2); j++) { if(numero % j == 0) { primo = 0; // não é primo break; } } if((primo) && (numero > 1)) { printf("%6d", numero); contador++; // encontramos um número primo if(contador % 10 == 0){ printf("\n"); } } numero++; } printf("\n\n"); system("PAUSE"); return 0; } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |