بکندباز

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

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

پاسخ های کاربران به این تمرین

mantix
امتیاز:‌ 16221
0 0
‎C++‎
14 فروردين 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Amin
امتیاز:‌ 12151
0 0
‎C++‎
1 آبان 1401

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*

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