حل تمرین طول و مجموع ارقام کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات مبانی برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین طول و مجموع ارقام کوئرا با پایتون
شما عدد صحیح مثبت 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]
ارسال پاسخ