le problème est: "Ecrire une fonction pour savoir si un nombre est un nombre premier ou parfait."décider si un nombre est parfait ou premier
jusqu'à présent j'ai travaillé sur la partie parfaite d'abord et c'est ce que j'ai:
#include <iostream>
using namespace std;
bool perfectNumber(int);
int main()
{
int number;
cout<<"Please enter number:\n";
cin>>number;
bool perfectNumber(number);
return 0;
}
bool perfectNumber(int number)
{
int i;
int sum=0;
for(i=1;i<=number/2;i++)
{
if(number%i==0)
{
sum+=i;
}
}
if (sum==number)
return i;
else
return 0;
}
Cependant, il semble y avoir des erreurs sur ce code. J'ai regardé le livre mais rien ne parle de ce sujet. Je voudrais obtenir des conseils sur la façon de corriger ce code.
merci!
% signifie reste du nombre/i 4% 2 = 0 –
Sonne comme l'un des projets d'Euler. Mais peut-être que c'est juste moi;) –
Quelles sont les erreurs que vous obtenez. En regardant l'exemple de code, vous définissez perfectNumber (int) comme un bool mais vous renvoyez un int. –