Ir ao conteúdo

Posts recomendados

Postado

Leia um número N fornecido pelo usuário. Imprima um número ao final que indica quantos números primos existem entre 2 e N.


#include <stdio.h>

main() {

  int num, i, cont;

  printf("============Primo============\n\n");
  printf("Digite um numero.:");
  scanf("%d", &num);

  i = 2;

  cont = 0;

    while (i < num) {
      if (num % i == 0) {
        cont++;

      }

      i++;

    }

    if (cont > 0) {
      printf("\nO numero digitado nao e primo.");

    }

    else {
      printf("\nO numero digitado e primo.");

    }

    printf("\n\n");

}
return 0;
}

 

  • Curtir 1
  • Obrigado 1
Postado

@Matheus Freitas    o enunciado diz para imprimir apenas a qtd de números primos , então não precisa e nem pode imprimir se o número é primo ou não , e para verificar os números se são ou não primos , precisa de um loop dentro do while .

  • Curtir 1
  • Obrigado 1
Postado

@Matheus Freitas Você já fez o teste pra verificar se é primo, agora terá que usar outro loop dentro do while, como @devair1010 havia dito (não sei porque usou while, já que precisava atribuir 2 à i, e incrementar i a cada passagem no loop, um laço de repetição for é mais adequado), de forma que sejam verificados todos os números de 2 ao número inserido.

  • Curtir 2
Postado
main ()
//** ✘ Esqueceu de especificar o tipo int no retorno da função 'int main ()'
//** Por padrão a linguagem sempre vai adota 'int' nesses casos automaticamente.

...
	cont = 0;
	while (i < num) {
		if (num % i == 0){
			cont++;
		}
		i++;
    	}
	//** ✘ O Bloco lógico acima ~verificar ocorrência de primos no intervalo [2,...,N]
	//** Para verifiacar que um valor desse intervalo é primo se faz necessário:
	//** while (i <= num){
	//** 	if (eprimo (i)) ++cont;
	//** 	++i;
	//** }
	//** E a função eprimo () é uma algoritmo de teste de primalidade.

Teste para iniciantes: Teste de primalidade via divisão por tentativa.

No final o programa imprime o valor em cont

  • Curtir 3
Postado

@Mauro Britivaldo olha eu fiz tudo certo como você fez só que está dando erro no eprimo: eprimo was not declared in this scope

#include <stdio.h>

int main() {

  int num, i, cont;

  printf("============Primo============\n\n");
  printf("Digite um numero.:");
  scanf("%d", &num);

  i = 2;

  cont = 0;

   while (i <= num){
	 	if (eprimo (i)) ++cont;
		++i;
	}

   printf("os números entre 2 e n são",cont);

    printf("\n\n");
return (0);
}

 

  • Obrigado 1
Postado

@devair1010, nessa parte "if (eprimo (i))" eh pra mesmo verificar quantos números entre 2 e n (outro numero), mas eu fiz assim no C++, mas não foi e não é colocando eprimo no int.

#include<stdio.h>

int main() {
  int num, i, cont,eprimo;

  printf("============Primo============\n\n");
  printf("Digite um numero.:");
  scanf("%d", &num);
  i = 2;
  cont = 0;  
  
  while (i <= num) {
    if ("eprimo",i) {
      cont++;
    }
    i++;
  }
  
  printf("\n os números entre 2 e n eh\n",cont);
  
  return (0);
}

 

  • Curtir 1
  • Confuso 2
Postado

@Matheus Freitas    você sabe o que é uma função na linguagem c ?

uma função pode ser assim :

// colocada lá antes da função int main
int eprimo( int j ){//  isso é uma função
    int resultado = 0; // significa que não é primo
    printf("Informando Que esta Dentro Da Funcao eprimo\n");
    printf("Valor De j= %d\n",j);
    // aqui dentro você coloca comandos que vão comparar 
    // o valor de j que foi enviado lá na chamada dessa função
    // e decidir se ele é ou não primo 
    // se for primo coloca o valor 1 na vaiável resultado
    // significando que é primo
    return resultado;
}
int main(){
    // comandos
    return 32768;      
}

 

  • Curtir 2
Postado

@Matheus Freitas Não sei o que você pensou que era pra ser feito... O colega @devair1010 já havia o alertado logo de início:

2 horas atrás, devair1010 disse:

eprimo é uma função , que precisa ser criada

 

Fico feliz de não ter postado um programinha dessa vez. Dessa forma, você não simplesmente copia e cola o programa como estava fazendo nas postagens anteriores, e acaba aprendendo mais! Já te deram a dica para estudar funções, dê uma olhada aqui.

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!