بکندباز

تابعی بنویسید که یک عدد n را به‌عنوان ورودی دریافت کند و بزرگ‌ترین عدد صحیحی را که کوچک‌تر یا مساوی n است و بیشترین مجموع ارقام را دارد، برگرداند.

مثال

largest_digit_sum(100) ➞ 99
# مجموع ارقام 99 = 9 + 9 = 18
# تمام اعداد از 0 تا 98 و خود 100 مجموع ارقامی کمتر از 18 دارند.

largest_digit_sum(48) ➞ 48
# مجموع ارقام 48 = 4 + 8 = 12
# مجموع ارقام 39 = 3 + 9 = 12
# 48 بزرگ‌تر از 39 است، پس 48 برگردانده می‌شود.

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

LargestDigitSum(100) ➞ 99

LargestDigitSum(48) ➞ 48

LargestDigitSum(10) ➞ 9
Assert.Equal(99, Backendbaz.LargestDigitSum(100));
Assert.Equal(48, Backendbaz.LargestDigitSum(48));
Assert.Equal(9, Backendbaz.LargestDigitSum(10));
Assert.Equal(1, Backendbaz.LargestDigitSum(1));
Assert.Equal(18, Backendbaz.LargestDigitSum(18));
Assert.Equal(1999, Backendbaz.LargestDigitSum(2090));
Assert.Equal(8999999, Backendbaz.LargestDigitSum(9000000));

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

نظرات

*
*

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