مسیرها
/
Zig
Zig
/
تمرین‌ها
/
اعداد تام
اعداد تام

اعداد تام

آسان

دستورالعمل‌ها

بر اساس طرح طبقه‌بندی نیکوماخوس (۶۰ تا ۱۲۰ میلادی) برای اعداد صحیح مثبت، مشخص کنید که یک عدد perfect است، abundant است یا deficient.

ریاضیدان یونانی، نیکوماخوس، طرحی برای طبقه‌بندی اعداد صحیح مثبت ابداع کرد که هر عدد را به‌طور یکتا در یکی از دسته‌های 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 هستند

Task

راهی پیاده‌سازی کنید تا مشخص شود یک عدد داده‌شده perfect است یا نه. بسته به مسیر زبان شما، ممکن است لازم باشد راهی هم پیاده‌سازی کنید تا مشخص شود آن عدد abundant یا deficient است.

Assert

در این تمرین، فرض کنید می‌خواهیم مسئولیت فراخوانی classify فقط با ورودی ناصفر بر عهده‌ی فراخوان باشد. پس لطفاً کاری کنید که تابع classify اطمینان حاصل کند که ورودی‌اش ناصفر است. برای جزئیات بیشتر، به Zig Language Reference و پیاده‌سازی std.debug.assert نگاه کنید.

با این حال، توجه داشته باشید که این تمرین در حال حاضر ورودی ۰ را آزمایش نمی‌کند (چون std.testing هنوز انتظار وقوع یک panic را پشتیبانی نمی‌کند).

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Zig Exercism

آماده‌اید اعداد تام را شروع کنید؟

در Exercism ثبت‌نام کنید تا Zig را همراه با 104 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.