مع أن الطقس رائع، فإنك لا تتطلع إلى قضاء ساعة في الفصل الدراسي. وأنت منزعج، تدخل الفصل، حيث تلاحظ على السبورة شكلًا مثلثيًا مُرضيًا بشكل غريب. وبينما تنتظر وصول مدرّس الرياضيات، لا يسعك إلا أن تلاحظ بعض الأنماط في المثلث: فالقيم الخارجية كلها تساوي واحدًا، وكل صف لاحق يحتوي على قيمة واحدة أكثر من الصف الذي قبله، والمثلث متماثل. غريب!
بعد وقت قصير من جلوسك، يدخل مدرّسك الفصل ويشرح أن هذا المثلث هو مثلث باسكال الشهير.
على مدار الساعة التالية، يكشف لك مدرّسك عن أمور مذهلة تختبئ في هذا المثلث:
يحثّك مدرّسك أنت وزملاءك على البحث عن استخدامات أخرى، ويؤكد لكم أن هناك الكثير غيرها! وفي تلك اللحظة، يرنّ جرس المدرسة. تدرك أنك كنت خلال الساعة الماضية مستغرقًا تمامًا في تعلّم مثلث باسكال. تلتقط حاسوبك المحمول بسرعة من حقيبتك وتخرج إلى الخارج، مستعدًا للاستمتاع بأشعة الشمس _و_عجائب مثلث باسكال.
مهمتك هي إخراج أول 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:
سجّل في Exercism لتتعلّم وتتقن JavaScript عبر 37 مفهومًا159 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.