int main(){ int i, j, n, count; crivo(2000000000); while(scanf("%d", &n)){ if(n == 0){ break; } count = 0; for(i = 0; i < size; i++){ if(primes[i] < n){ for(j = i; j < size; j++){ if(primes[i]+primes[j] == n){ count++; } else if(primes[i]+primes[j] > n){ break; } } } else{ break; } } printf("%d\n", count); } }
int main(void){ int N, X; scanf("%d", &N); crivo(); while(N--){ scanf("%d", &X); printf("%d %seh primo\n", X, pflag[X] ? "nao " : ""); } return 0; }
int main(){ memset(p,0,sizeof p); memset(memo,-1,sizeof memo); crivo(); int a,b; while(scanf("%d",&a) && a != 0){ scanf("%d",&b); int cont = 0; for(int i = a; i <= b; i++) if(!p[dp(i)]) cont++; printf("%d\n",cont); } }
int main() { crivo(); for (int i = 1; i < 1000010; ++i) { dp[i] += dp[i-1] + (isprime[3 * i + 7] ? 1 : 0); } int t; for (scanf("%d", &t); t--;) { scanf("%d", &n); printf("%d\n", dp[n]); } return 0; }
void imprimePalindromosPalavra(char *str, char separador[], primos *list) { char *palin_candidate, *str_palavra; int ascii_palindromo=0; separador[8]=' '; //usada para cópia para que a string original não seja destruída pelo strtok() str_palavra = (char *) malloc((strlen(str)+1)*sizeof(char)); strcpy(str_palavra,str); /* VERIFICAÇÃO DE PALÍNDROMOS NAS PALAVRAS*/ palin_candidate = strtok((char *) str_palavra,separador); while(palin_candidate != NULL) { if(strlen(palin_candidate)>1) { ascii_palindromo = verificaPalindromo(palin_candidate); /*printf("%dPalindromo candidato: %s\n",flag_arquivo,palin_candidate); fflush(stdout); */ if(ascii_palindromo > 0) { if(crivo(list,ascii_palindromo)) { printf("Palavra palindromo:%s\t\tSoma ASCII: %d\tÉ primo\n",palin_candidate,ascii_palindromo); } else { printf("Palavra palindromo:%s\t\tSoma ASCII: %d\tNao primo\n",palin_candidate,ascii_palindromo); } fflush(stdout); } } palin_candidate = strtok(NULL,separador); } free(str_palavra); separador[8] = '\0'; }
int main() { int n, c, i; crivo(); while( scanf( "%d", &n) == 1 && n > 0 ) { if( n <= 500000 && ehprimo[n]) c = 1; else { c = 0; for( i = 2; i * i < n; i++ ) { if( n % i == 0 ) { if( ehprimo[i] ) c++; if( ehprimo[n/i]) c++; } } if( i * i == n && ehprimo[i]) c++; if( c == 0 ) c = 1; } printf( "%d : %d\n", n , c); } return 0; }
void imprimePalindromosFrase(char *str, char separador[], primos *list) { char *palin_candidate, *sem_espaco; int ascii_palindromo=0; /* VERIFICAÇÃO DE PALÍNDROMOS NAS PALAVRAS*/ palin_candidate = strtok((char *) str,separador); while(palin_candidate != NULL) { sem_espaco = (char *) malloc(strlen(palin_candidate)*sizeof(char)); removeCaracter(palin_candidate,' ',sem_espaco); if(strlen(sem_espaco) >1) { ascii_palindromo = verificaPalindromo(sem_espaco); /* printf("SEM ESPACO: %s\n",sem_espaco); fflush(stdout); */ if(ascii_palindromo > 0) { if(crivo(list,ascii_palindromo)) { printf("Frase palindromo:%s\t\tSoma ASCII: %d\tÉ primo\n",sem_espaco,ascii_palindromo); } else { printf("Frase palindromo:%s\t\tSoma ASCII: %d\tNao primo\n",sem_espaco,ascii_palindromo); } fflush(stdout); } } free(sem_espaco); palin_candidate = strtok(NULL,separador); } }