بکندباز

تابعی بنویسید که یک عدد 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
EXPECT_EQ(LargestDigitSum(100), 99);
EXPECT_EQ(LargestDigitSum(48), 48);
EXPECT_EQ(LargestDigitSum(10), 9);
EXPECT_EQ(LargestDigitSum(1), 1);
EXPECT_EQ(LargestDigitSum(18), 18);
EXPECT_EQ(LargestDigitSum(2090), 1999);
EXPECT_EQ(LargestDigitSum(9000000), 8999999);

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

Amin
امتیاز:‌ 20573
تصحیح اتوماتیک 0 0
‎C++‎
1 اسفند 1403

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

نظرات

*
*

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