Boa tarde, estou no 1º periodo do curso de ciencias da computação e aprendendo linguagem C++, trabalhando apenas com a biblioteca iostrem, nunca usei scanf e printf.
Fiz esse algoritmo para ler numeros primos mas ele está imprimindo na tela todos os numeros do intervalo selecionado e considerando todos como primos.
O objetivo é imprimir na tela apenas os nº primos do intervalo selecionado, podem me ajudar, n consigo encontrar o(s) erro(s). Obrigado.
/*
Algoritmo para ler os números primos em um determinado intervalo de números.
*/
#include <iostream>
#include <cstdlib>
#include <locale>
using namespace std;
int main ()
{
setlocale (LC_ALL, "Portuguese");
int a, n, k, primo;
cout << "Este programa lerá os números primos a partir do 2.\n";
cout << "Digite o número máximo a ser lido pelo programa: ";
cin >> a;
for (n= 2;n<=a;n++)
{
primo= 0;
for (k= 1;k<=n;k++)
{
if (n%k==0)
{
primo++;
}
if (primo>2)
{
// não faz nada.
}
else
{
cout << n << " é nº primo.\n\n";
}
}
}
system ("pause");
return 0;
}