Foto de Mateus V.
Mateus há 5 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;
}

 

 

Lógica de programação C++ (logica) Geral
1 resposta
Professor Lucas M.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 5 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 sua pergunta

Aprenda do seu jeito, no seu ritmo

Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App
Escaneie o QR Code para baixar