Foto de Mateus V.
Mateus há 4 anos
Enviada pelo
Site

Lógica de programação c++ code blocks

Alguem pode me ajudar nesse problema: Faça um programa que leia um número N que o usuário digitar e mostre na tela os N primeiros números primos. Por exemplo digitei 10, entao o programa deve mostrar os 10 primeiros numeros primos.

No momento so consigo determinar se um numero é primo ou não.

 

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;


int main() {

  int i, x;
  int div = 0;

  do {

    cout<<"Digite um numero inteiro e positivo: "<<endl;
   cin>>x;
  } while (x <= 0);

  for (i = 1; i <= x; i++) {
    if (x % i == 0) {
     div++;
    }
  }

  if (div == 2)
    cout<<"O numero e primo"<<endl;
  else
    cout<< "O numero  nao e primo"<<endl;

  return 0;
}

 

 

Professor Lucas M.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 4 anos
Contatar Lucas

olá mateus ,  eu identifiquei um pequeno erro erro  de lógica  no  seu  algoritmo seria  na variável x:

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

int x =  1

int div = 0

int i 

cout<<"Digite um numero inteiro e positivo: "<<endl;
cin>> i;

while(x<=10){

   x++

   if(x % i == 0){

        div += 1

 }

if(div == 2){

      cout<<"O numero e primo"<<endl;

}

else{

  cout<< "O numero  nao e primo"<<endl;

}

}

esse 'for'  é desnecessário ,você ja está fazendo  o loop com while

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Envie uma dúvida grátis
Resposta na hora da Minerva IA e de professores particulares
Enviar dúvida
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Precisa de outra solução? Conheça
Aulas particulares Encontre um professor para combinar e agendar aulas particulares Buscar professor