حل تمرین طول و مجموع ارقام کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات مبانی برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین طول و مجموع ارقام کوئرا با پایتون
شما عدد صحیح مثبت m و نیز عدد صحیح نامنفی s را در اختیار دارید، وظیفه شما یافتن کوچکترین و بزرگترین عددی است که دارای طول m و مجموع ارقام s شود، اعداد مورد نیاز باید صحیح، غیر منفی، در مبنای 10 و با صفر آغاز نشود.
ورودی
ورودی در یک خط دو عدد و که به صورت زیر هستند به شما داده میشود.

خروجی
در خروجی دو عدد صحیح غیرمنفی در یک خط چاپ میشود که به ترتیب کوچکترین عدد موجود و بزرگترین عدد موجود شود. اگر هیچ عددی با توجه به شرایط مطلوب وجود نداشت خروجی باید به شکل −1 −1 شود.
مثال
ورودی نمونه 1
2 15
خروجی نمونه 1
69 96
ورودی نمونه 2
3 0
خروجی نمونه 2
-1 -1
کد پایتون سوال تمرین طول و مجموع ارقام
m, s = map(int, input().split())
if s == 0:
if m == 1:
print("0 0")
else:
print("-1 -1")
elif s > 9 * m:
print("-1 -1")
else:
remaining_sum = s
largest = []
for i in range(m):
digit = min(9, remaining_sum)
largest.append(str(digit))
remaining_sum -= digit
remaining_sum = s
smallest = []
for i in range(m):
digit = max(0, remaining_sum - 9 * (m - i - 1))
smallest.append(str(digit))
remaining_sum -= digit
if smallest[0] == '0':
for i in range(m):
if smallest[i] != '0':
smallest[i] = str(int(smallest[i]) - 1)
smallest[0] = '1'
break
print("".join(smallest), "".join(largest))
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]


















من خودم همیشه آخر سر جواب رو نگاه میکردم ولی این بار واقعا فهمیدم چرا اینطوری حل میشه
موفق باشید.
اعتماد به نفسم بیشتر شد برای حل سوالای بعدی
موفق باشید.
من تازه شروع کردم به حل سوالای کوئرا
موفق باشید اگر سوالی داشتید در بخش نظرات برای ما بنویسید.
واقعا توضیحات ساده و روان بود
سپاس از نظر شما.
منم همین سوال رو توی کوئرا حل کرده بودم و کلی اذیت شدم
این سوال به یادگیری شما از مباحث برنامه نویسی کمک زیادی میکنه خوشحالیم تونستی خودت این سوال رو حل کنی.