یک تابع بنویسید که 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));
نظرات