Exemplo n.º 1
0
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);
	}
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
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);
    }

}
Exemplo n.º 4
0
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';
}
Exemplo n.º 6
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);
	}

}