das Problem ist: "Schreiben Sie eine Funktion, um herauszufinden, ob eine Zahl eine erste oder perfekte Zahl ist."entscheiden, ob eine Zahl perfekt oder prime ist
Bisher habe ich auf den perfekten Teil zuerst gearbeitet und das ist, was ich habe:
#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;
}
Es scheint jedoch Fehler in diesem Code. Ich habe über das Buch geschaut, aber nichts spricht über dieses Thema. Ich möchte einen Rat bekommen, wie man diesen Code repariert.
danke!
% bedeutet verbleibende Anzahl/i als 4% 2 = 0 –
Sounds wie ein von Projekt Eulersche. Aber vielleicht ist es nur ich;) –
Welche Fehler bekommst du? Wenn Sie das Codebeispiel betrachten, definieren Sie perfectNumber (int) als Bool, aber Sie geben ein int zurück. –