بکندباز

عدد کاپریکار عددی مثبت است که اگر آن را به توان دو برسانیم، سپس عدد به‌دست‌آمده را به دو قسمت جداگانه تقسیم کنیم و آن‌ها را با هم جمع کنیم، مقدار حاصل برابر خود عدد اولیه باشد.

قوانین:

  1. اگر تعداد ارقام حاصل‌ضرب زوج باشد، دو قسمت باید هم‌اندازه باشند.
  2. اگر تعداد ارقام فرد باشد، نیمه‌ی راست باید طولانی‌تر باشد، و نیمه‌ی چپ می‌تواند صفر یا کوچک‌تر باشد.

تابعی بنویسید که یک عدد صحیح مثبت n دریافت کند و بررسی کند که آیا عدد کاپریکار است یا نه.
اگر عدد کاپریکار باشد، True و در غیر این صورت False برگرداند.

مثال

is_kaprekar(3) ➞ False
# 3² = "9"
# تقسیم: Left = 0, Right = 9
# 0 + 9 = 9 ≠ 3  ❌

نکات:

  • عدد 0 و 1 به‌طور بدیهی کاپریکار هستند، زیرا برابر توان دوم خودشان هستند.
  • اعدادی که فقط شامل 9 هستند (مثل 9، 99، 999، …) همیشه اعداد کاپریکار هستند
IsKaprekar(3)  ➞ False
IsKaprekar(5)  ➞ False
IsKaprekar(297)  ➞ True
IsKaprekar(2)  ➞ False
IsKaprekar(9)  ➞ True
IsKaprekar(65)  ➞ False
IsKaprekar(99)  ➞ True
IsKaprekar(666)  ➞ False

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*

تمرینات مرتبط