من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

حل تمرین طول و مجموع ارقام کوئرا با پایتون

حل تمرین طول و مجموع ارقام کوئرا با پایتون
حل تمرین طول و مجموع ارقام کوئرا با پایتون

حل تمرین طول و مجموع ارقام کوئرا با پایتون

در این نوشته به روش حل یکی از سوالات مبانی برنامه نویسی وب‌سایت کوئرا می‌پردازیم.

 

حل تمرین طول و مجموع ارقام کوئرا با پایتون

شما عدد صحیح مثبت 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]