Kurzusok
/
Zig
Zig
/
Feladatok
/
Tökéletes számok
Tökéletes számok

Tökéletes számok

Könnyű

Utasítások

Döntsd el egy számról, hogy Nikomakhosz (i. sz. 60–120) pozitív egészekre vonatkozó osztályozási rendszere alapján tökéletes, bővelkedő vagy hiányos-e.

A görög matematikus, Nikomakhosz a pozitív egészek osztályozására dolgozott ki egy rendszert, amelyben minden szám a valódi osztók összege alapján egyértelműen a tökéletes, a bővelkedő vagy a hiányos kategóriák valamelyikébe tartozik. A valódi osztók összege a szám önmagát nem tartalmazó osztóinak összege. Például a 15 esetében a valódi osztók összege 1 + 3 + 5 = 9.

Tökéletes

Egy szám akkor tökéletes, ha megegyezik a valódi osztóinak összegével. Például:

  • A 6 tökéletes szám, mert 1 + 2 + 3 = 6
  • A 28 tökéletes szám, mert 1 + 2 + 4 + 7 + 14 = 28

Bővelkedő

Egy szám akkor bővelkedő, ha kisebb a valódi osztóinak összegénél. Például:

  • A 12 bővelkedő szám, mert 1 + 2 + 3 + 4 + 6 = 16
  • A 24 bővelkedő szám, mert 1 + 2 + 3 + 4 + 6 + 8 + 12 = 36

Hiányos

Egy szám akkor hiányos, ha nagyobb a valódi osztóinak összegénél. Például:

  • A 8 hiányos szám, mert 1 + 2 + 4 = 7
  • A prímszámok hiányosak.

Feladat

Készíts egy megoldást, amely meghatározza, hogy egy adott szám tökéletes-e. A kurzustól függően arra is szükség lehet, hogy megállapítsd egy adott számról, bővelkedő-e vagy hiányos.

Assert

Ennél a feladatnál mondjuk azt, hogy a hívó felelőssége, hogy a classify függvényt csak nullától különböző bemenettel hívja meg. Ezért a classify függvényben egy asserttel biztosítsd, hogy a bemenete nem nulla. További részletekért lásd a Zig nyelvi referenciát és a std.debug.assert megvalósítását.

Ne feledd azonban, hogy ez a feladat jelenleg nem teszteli a 0 bemenetet (mert a std.testing még nem támogatja a panic elvárását).

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Zig Exercism

Készen állsz elkezdeni a(z) Tökéletes számok feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Zig nyelvet 104 feladat segítségével, valódi emberi mentorálással, mindez ingyen.