بکندباز

یکی از ریاضیدانان هنگام بازی با اعداد به نکته جالبی در مورد بعضی اعداد پی برد.:

89 --> 8¹ + 9² = 89 * 1
695 --> 6² + 9³ + 5⁴ = 1390 = 695 * 2
46288 --> 4³ + 6⁴ + 2⁵ + 8⁶ + 8⁷ = 2360688 = 46288 * 51

تابعی بنویسید که یک عدد n و یک عدد p (بزرگتر مساوی 1) را به عنوان آرگومان بگیرد. عدد n همان عدد اصلی ماست. این تابع باید جمع رقم های n که به توان رسیده اند را محاسبه کند. توان ها باید از عدد p شروع شوند.

در این مثال n برابر است با 46288 و p برابر است با 3 (چون توان ها از 3 شروع شده اند):

46288 --> 4³ + 6⁴ + 2⁵ + 8⁶ + 8⁷ = 2360688 = 46288 * 51

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

اگر حاصل جمع به عدد اولیه بخش پذیر نبود 0 برگردانده شود.

نمونه ورودی و خروجی

FunnyNumbers(89, 1) ➞ 1

FunnyNumbers(92, 1) ➞ 0

FunnyNumbers(695, 2) ➞ 2
FunnyNumbers(89, 1)  ➞ 1
FunnyNumbers(92, 1)  ➞ 0
FunnyNumbers(695, 2)  ➞ 2
FunnyNumbers(46288, 3)  ➞ 51

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

نظرات

*
*

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