Skip to content

Instantly share code, notes, and snippets.

@christian-candido
Created December 2, 2012 18:59
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save christian-candido/4190450 to your computer and use it in GitHub Desktop.
Save christian-candido/4190450 to your computer and use it in GitHub Desktop.
Programa para listar todos os números primos até o valor máximo informado pelo usuário
// Programa para listar todos os números primos
// até o valor máximo informado pelo usuário
//
#include <stdio.h>
#include <math.h>
// Protype da funcao de listagem
void lista_array (unsigned int [], unsigned int);
int main (void) {
unsigned int primos[100]; // Lista de primos
unsigned int primo; // Indice da lista
unsigned int nao_primo; // Variável de controle
unsigned int max; // Número máximo
// Coloca dois primos na lista
primos[0] = 2;
primos[1] = 3;
// Número de primos na lista
int no_primos = 2;
int i;
printf("Este programa irá listar todos os numeros primos até o numero informado\n\n");
printf("Digite um número: ");
scanf("%i", &max);
for (i = 4; i <= max; i++) {
primo = 0;
nao_primo = 0;
while(primo < no_primos && primos[primo] < sqrt(i) && !nao_primo) {
if(i % primos[primo] == 0.0) {
nao_primo = 1; // O número não é primo, para de testar
}
primo++;
}
// O número é primo, adiciona-o à lista e imprime na tela
if(!nao_primo) {
primos[no_primos] = i;
no_primos++;
}
}
printf("Os números primos até %u sao: \n", max);
lista_array(primos, no_primos);
return 0;
}
// Imprime os elementos de um array
void lista_array (unsigned int arr[], unsigned int no) {
int i = 0;
while (i < no) {
printf("%u\n", arr[i]);
i++;
}
}
@julio-cesar-lacerda
Copy link

Gostei do seu código.

@ramonholanda2
Copy link

codigo top, o que significa unsigned int ??????

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment