مثلث خیام

مثلث خیام

متوسط

مقدمه

هوا عالی است و اصلاً دلتان نمی‌خواهد یک ساعت را در کلاس درس بگذرانید. با دلخوری وارد کلاس می‌شوید و روی تخته سیاه شکلی مثلثی می‌بینید که به شکلی عجیب دلنشین است. وقتی منتظر آمدن معلم ریاضی‌تان هستید، نمی‌توانید از دیدن چند الگو در مثلث چشم‌پوشی کنید: مقادیر بیرونی همگی یک هستند، هر سطر بعدی یک مقدار بیشتر از سطر قبلی دارد و مثلث متقارن است. عجیب است!

کمی بعد از اینکه می‌نشینید، معلم وارد کلاس می‌شود و توضیح می‌دهد که این مثلث همان مثلث پاسکال معروف است.

در طول یک ساعت بعد، معلم‌تان چند نکته‌ی شگفت‌انگیز را که در این مثلث پنهان است آشکار می‌کند:

  • می‌توان از آن برای محاسبه‌ی تعداد راه‌های انتخاب K عنصر از میان N مقدار استفاده کرد.
  • دنباله‌ی فیبوناچی را در خود دارد.
  • اگر اعداد فرد و زوج را متفاوت رنگ کنید، الگویی زیبا به دست می‌آید که مثلث سیرپینسکی نام دارد.

معلم از شما و همکلاسی‌هایتان می‌خواهد کاربردهای دیگری را جست‌وجو کنید و اطمینان می‌دهد که بسیار بیشتر هم وجود دارد! در همین لحظه، زنگ مدرسه به صدا درمی‌آید. متوجه می‌شوید که در یک ساعت گذشته، کاملاً غرق یادگیری درباره‌ی مثلث پاسکال بوده‌اید. به‌سرعت لپ‌تاپ‌تان را از کیف‌تان برمی‌دارید و بیرون می‌روید، آماده‌ی لذت بردن از هم نور خورشید و هم شگفتی‌های مثلث پاسکال.

دستورالعمل‌ها

وظیفه‌ی شما این است که N سطر اول مثلث پاسکال را خروجی بدهید.

مثلث پاسکال یک آرایه‌ی مثلثی از اعداد صحیح مثبت است.

در مثلث پاسکال، تعداد مقادیر هر سطر با شماره‌ی آن سطر برابر است (که از ۱ شروع می‌شود). بنابراین سطر اول یک مقدار دارد، سطر دوم دو مقدار دارد و به همین ترتیب.

سطر اول (بالاترین سطر) یک مقدار دارد: 1. مقادیر سطرهای بعدی با جمع کردن اعدادی محاسبه می‌شود که در سطر قبلی دقیقاً در سمت راست و چپ موقعیت فعلی قرار دارند.

اگر سطر قبلی در سمت چپ یا راست موقعیت فعلی مقداری نداشته باشد (که فقط برای چپ‌ترین و راست‌ترین موقعیت‌ها پیش می‌آید)، مقدار آن موقعیت را صفر در نظر بگیرید (به این معنا که در جمع آن را نادیده می‌گیرید).

مثال

بیایید به ۵ سطر اول مثلث پاسکال نگاه کنیم:

    1
   1 1
  1 2 1
 1 3 3 1
1 4 6 4 1

بالاترین سطر یک مقدار دارد که 1 است.

چپ‌ترین و راست‌ترین مقادیر فقط یک موقعیت قبلی برای در نظر گرفتن دارند: به ترتیب موقعیت سمت راست یا سمت چپ آن. چون مقدار بالاترین موقعیت 1 است، نتیجه می‌شود که همه‌ی مقادیر چپ‌ترین و راست‌ترین موقعیت‌ها هم 1 هستند.

مقادیر دیگر همه دو موقعیت برای در نظر گرفتن دارند. برای مثال، مقدار میانی سطر پنجم (1 4 6 4 1) برابر 6 است، چون مقادیر سمت چپ و راست آن در سطر قبلی 3 و 3 هستند:

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Scheme Exercism

آماده‌اید مثلث خیام را شروع کنید؟

در Exercism ثبت‌نام کنید تا Scheme را همراه با 39 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.