/***************************************************** Exemplo de uso de funçoes, variáveis locais e globais e e também do comando 'do{}while'. *****************************************************/ #include #define TRUE 1 #define FALSE 0 /*************************************************** a variável global 'ultimo' é usada para 'lembrar' do último número primo encontrado. ****************************************************/ int ultimo = 1; /*************************************************** verifica se um número é primo retornando 1 (TRUE) em caso positivo e 0 (FALSE) em caso contrário. ****************************************************/ int primo(int n){ int i; for(i = 2; i*i <= n; i++) if((n%i) == 0) return FALSE; ultimo = n; // atualiza a variável global return TRUE; } /*************************************************** Determina o 'próximo número primo', a partir do último encontrado. A procura toma como ponto de partida o valor do último primo encontrado, mantido na variável global 'ultimo'. Notar o uso de 'do{}while'. ****************************************************/ int prox(){ int p = ultimo; do{ p++; }while(!primo(p)); return p; } /**************************************************** Teste simples: escreve os 100 primeiros primos, usando a função 'prox()'. ****************************************************/ void main(){ int i; for(i = 0; i < 100; i++) printf("p:%d\n",prox()); system("PAUSE"); }