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