funktionale proggramierung vollkommene zahlen



  • Hallo Leute,
    folgende Aufgabenstellung:

    Schreiben Sie eine Funktion bool vollkommen(int zahl),die true
    zurückgibt,wenn zahl vollkommen ist, sonst false.

    Das Problem ist jetzt ich soll das funktional machen also ohne funktionszuweisungen schleifen etc.
    Ausserdem darf ich eine funktion? cond benutzen diese ist durch eine headerdatei definiert

    zb: cond ( a%b==0 ,wert 1 , wert 2)
    also wenn der rest von a/b null ist wird der erste wert ausgegeben wenn nicht dann der 2. ich hoffe ihr versteht was die aufgabe dieses makros ist ansonsten kann ich euch auch gerne die headerdatei geben.
    also ich darf auch nicht a=b oder sonstige zuweisungen machen.

    Die Grundidee ist ja die eingabezahl durch 1 zu teilen dann auf rest 0 zu testen und die zahl durch die geteilt wird immer um 1 zu erhöhen allerdings muss der teiler < a bleiben

    weiss nur nicht wie ich das vernünftig zu code kriege da ich eben keine zuweisung oder zb for schleife benutzen darf

    Hoffe ihr könnt mir damit helfen 🤡



  • Für den Test auf eine vollkommene Zahl braucht man ja die Summe der Teiler. Das könnte man mit einer Schleife machen wie du sie beschreibst, geht aber auch rekursiv. Das ist wohl das was ihr machen sollt. Du könntest also eine Funktion schreiben, die die Summe der Teiler kleiner als x von der Zahl y berechnet.



  • ja rekursiv ist wohl das stichwort allerdings macht mir das ganze noch etwas problem wäre schön wenn du das noch ausführen könntest wie genau du das meinst da ich mir das ohne for schleife nicht vorstellen kann ^^


Anmelden zum Antworten