int main(){ int a, b, c, d, e; a = 3; b = 2; c = 4; d = 28; e = 17; assert(true == verifica_primo(a)); assert(true == verifica_primo(b)); assert(false == verifica_primo(c)); assert(false == verifica_primo(d)); assert(true == verifica_primo(e)); }
int main(void){ unsigned long long p, i; char imprimir; printf("Digite ate qual p deseja fazer a verificaçao: \n"); scanf("%llu", &p); printf("Deseja imprimir Mp?: s/n\n"); do{ scanf("%c", &imprimir); imprimir = toupper(imprimir); }while(imprimir != 'S' && imprimir != 'N'); for(i = 2; i <= p; i++){ //Para p = 2 o teste é pulado if(i == 2){ if(imprimir == 'S'){ printf("\nM2: 3\n"); }else{ printf("\nM2\n"); } }else if(verifica_primo(i) && lucas_lehmer_test(i, imprimir)){ if(imprimir == 'N'){ printf("M%llu\n", i ); } } } printf("\n"); return 0; }
int filtra_os_primos (unsigned short int p, unsigned short int r, char * nome_arquivo_entrada, char * nome_arquivo_saida) { FILE *entrada, *saida; int numPrimo = 0; unsigned short int num; entrada = fopen( nome_arquivo_entrada, "r" ); saida = fopen( nome_arquivo_saida, "w" ); while( !feof(entrada) ){ num = le_numero( entrada ); if( p <= num && r >= num && verifica_primo( num ) ) { fprintf( saida, "%hu ", num); numPrimo++; } } fclose( entrada ); fclose( saida ); return numPrimo; }