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

حل تمرین همه‌ی زیر مجموعه‌ها کوئرا با پایتون

حل تمرین همه‌ی زیر مجموعه‌ها کوئرا با پایتون
حل تمرین همه‌ی زیر مجموعه‌ها کوئرا با پایتون

حل تمرین همه‌ی زیر مجموعه‌ها کوئرا با پایتون

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

 

حل تمرین لوگو دلتا کوئرا با پایتون

برنامه‌ای بنویسید که با ورودی گرفتن عدد n، همه‌ی زیرمجموعه‌های مجموعه‌ی 1,2,3,…,n را چاپ کند. این زیرمجموعه‌ها را به ترتیب الفبایی مرتب کنید؛ یعنی ابتدا عناصر هر زیرمجموعه را مرتب کنید و سپس به آن‌ها مانند کلمات نگاه کنید و به ترتیبی که در لغت‌نامه می‌آیند مرتب‌شان کنید. تلاش کنید که این کار را تنها به وسیله‌ی تابع بازگشتی انجام دهید؛ یعنی طوری پیاده‌سازی کنید که این مجموعه‌ها به همین ترتیب تولید و چاپ شوند. (به جای این که ابتدا همه را تولید کرده و سپس مرتب کنید.)

 

ورودی

ورودی تنها شامل یک خط است که در آن یک عدد طبیعی n آمده است.

ورودی در تمرین همه‌ی زیر مجموعه‌ها

 

خروجی

خروجی برنامه‌ی شما باید شامل 2n خط باشد که در هر خط یک زیرمجموعه چاپ شود.

 

مثال

ورودی نمونه 1

1

 

خروجی نمونه 1

{}
{1}

 

ورودی نمونه 2

3

 

خروجی نمونه 2

{}
{1}
{1, 2}
{1, 2, 3}
{1, 3}
{2}
{2, 3}
{3}

 

کد پایتون سوال تمرین همه‌ی زیر مجموعه‌ها

def generate_subsets(n):
    def backtrack(start, current_subset):
        if not current_subset:
            print("{}")
        else:
            subset_str = "{" + ", ".join(map(str, current_subset)) + "}"
            print(subset_str)
        for i in range(start, n + 1):
            current_subset.append(i)
            backtrack(i + 1, current_subset)
            current_subset.pop()
    backtrack(1, [])

n = int(input())
generate_subsets(n)

 

منبع سوال: کوئرا

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

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]