J'essaie d'afficher tous les nombres premiers jusqu'au nombre entré et je n'arrive pas à comprendre pourquoi cela ne fonctionne pas.Quel est le problème avec mon code? C++
Quelqu'un pourrait-il prendre le temps d'expliquer ce que j'ai fait de mal?
#include<iostream>
#include<string>
using namespace std;
int main()
{
int number;
cout << "Enter Number: ";
cin >> number;
for (int a = 2;a <= number;a++)
{
bool prime = false;
for (int b = 2;b < a;b++)
{
if (a%b == 0)
{
prime = true;
break;
}
if (prime = true)
cout << a << endl;
}
}
system("pause");
return 0;
}
Quelques points évidents: 1) un nombre premier est celui qui est * not * divisible par un nombre quelconque sauf 1 et lui-même, 2) '=' est assignation. Quand vous voulez faire une comparaison, vous voulez '==' à la place. –