بکندباز

یک تابع بنویسید که n را به اندازه k بار کم کند، مگر اینکه n به 0 ختم شود. در این صورت، به جای کم کردن 1، صفر را حذف کنید.

برای مثال:

n = 22
k = 3

این یعنی n برابر 22 است و باید 3 بار الگوریتم را تکرار کنیم. عدد 22 به صفر ختم نمی‌شود، پس با کم کردن 1 ادامه می‌دهیم.

22 - 1 = 21
k = 1
21 - 1 = 20
k = 2

حالا 20 به صفر ختم می‌شود، پس به جای کم کردن 1، صفر را حذف می‌کنیم:

20 -> 2
k = 3

الگوریتم اینجا پایان می‌یابد چون 3 بار تکرار انجام شده است.

22->21->20->2

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

NotGoodMath(540, 5) ➞ 50

NotGoodMath(1000000000, 9) ➞ 1

NotGoodMath(42023110, 10) ➞ 4201
Assert.Equal(50, Backendbaz.NotGoodMath(540, 5));
Assert.Equal(1, Backendbaz.NotGoodMath(1000000000, 9));
Assert.Equal(4201, Backendbaz.NotGoodMath(42023110, 10));
Assert.Equal(4, Backendbaz.NotGoodMath(420, 4));
Assert.Equal(4201, Backendbaz.NotGoodMath(42023110, 10));
Assert.Equal(883, Backendbaz.NotGoodMath(88888888, 50));

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

نظرات

*
*

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