المسارات
/
Zig
Zig
/
التمارين
/
الأعداد التامة
الأعداد التامة

الأعداد التامة

سهل

التعليمات

حدّد ما إذا كان العدد perfect أو abundant أو deficient، بناءً على مخطط التصنيف الذي وضعه نيقوماخوس (60 - 120 م) للأعداد الصحيحة الموجبة.

وضع عالم الرياضيات الإغريقي نيقوماخوس مخططًا لتصنيف الأعداد الصحيحة الموجبة، يحدّد فيه انتماء كل عدد انتماءً وحيدًا إلى إحدى فئات perfect أو abundant أو deficient، وذلك استنادًا إلى مجموع القواسم الفعلية. ويُعرَّف مجموع القواسم الفعلية بأنه مجموع قواسم العدد، دون احتساب العدد نفسه. على سبيل المثال، مجموع القواسم الفعلية للعدد 15 هو 1 + 3 + 5 = 9.

Perfect

العدد perfect هو الذي يساوي مجموع قواسمه الفعلية. على سبيل المثال:

  • 6 عدد perfect لأن 1 + 2 + 3 = 6
  • 28 عدد perfect لأن 1 + 2 + 4 + 7 + 14 = 28

Abundant

العدد abundant هو الذي يقل عن مجموع قواسمه الفعلية. على سبيل المثال:

  • 12 عدد abundant لأن 1 + 2 + 3 + 4 + 6 = 16
  • 24 عدد abundant لأن 1 + 2 + 3 + 4 + 6 + 8 + 12 = 36

Deficient

العدد deficient هو الذي يزيد عن مجموع قواسمه الفعلية. على سبيل المثال:

  • 8 عدد deficient لأن 1 + 2 + 4 = 7
  • الأعداد الأولية أعداد deficient

المهمة

نفّذ أسلوبًا لتحديد ما إذا كان العدد المعطى perfect. وقد تحتاج أيضًا، حسب مسار اللغة الذي تتبعه، إلى تنفيذ أسلوب لتحديد ما إذا كان العدد المعطى abundant أو deficient.

التأكيد

في هذا التمرين، لنفترض أننا نريد أن يكون المستدعي مسؤولًا عن استدعاء classify بمدخل غير صفري فقط. لذا اجعل دالة classify تؤكّد أن مدخلها غير صفري. لمزيد من التفاصيل، راجع مرجع لغة Zig وتنفيذ std.debug.assert.

لكن لاحظ أن هذا التمرين لا يختبر حاليًا مدخلًا يساوي 0 (لأن std.testing لا يدعم بعد توقّع حدوث panic).

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Zig Exercism

مستعد لبدء الأعداد التامة؟

سجّل في Exercism لتتعلّم وتتقن Zig عبر 104 تمارين، وإرشاد بشري حقيقي، وكل ذلك مجانًا.