freeCodeCamp/curriculum/challenges/arabic/08-coding-interview-prep/project-euler/problem-306-paper-strip-gam...

2.6 KiB

id challengeType title videoUrl localeTitle
5900f49f1000cf542c50ffb1 5 Problem 306: Paper-strip Game المشكلة 306: لعبة ورق الشريط

Description

اللعبة التالية هي مثال كلاسيكي لنظرية اللعبة الاندماجية:

يبدأ لاعبان بقطعة من المربعات البيضاء ، ويتخذان أدوارًا بديلة. في كل دور ، يختار اللاعب اثنين من المربعات البيضاء المتجاورة ويرسمهما باللون الأسود. اللاعب الأول الذي لا يستطيع أن يتحرك يخسر.

إذا كانت n = 1 ، فلا توجد تحركات صالحة ، لذلك يخسر اللاعب الأول تلقائيًا. إذا كانت n = 2 ، فهناك حركة واحدة صالحة ، وبعدها يخسر اللاعب الثاني. إذا كانت n = 3 ، فهناك حركات صالحة ، لكن كلاهما يترك وضعًا يخسر فيه اللاعب الثاني. إذا كانت n = 4 ، فهناك ثلاث حركات صالحة للاعب الأول. يمكنها الفوز باللعبة عن طريق رسم الساحتين الأوسطتين. إذا كانت n = 5 ، فهناك أربع حركات صالحة للاعب الأول (كما هو موضح أدناه باللون الأحمر) ؛ ولكن بغض النظر عن ما تفعله ، يفوز اللاعب الثاني (الأزرق).

لذا ، بالنسبة إلى 1 ≤ n ≤ 5 ، هناك 3 قيم لـ n يمكن للاعب الأول فرض الفوز فيها. وبالمثل ، بالنسبة إلى 1 ≤ n ≤ 50 ، هناك 40 قيمة لـ n يمكن للاعب الأول فرض الفوز فيها.

من أجل 1 000 n ≤ 000 000 1 ، ما هو عدد قيم n التي يمكن للاعب الأول أن يفوز فيها؟

Instructions

Tests

tests:
  - text: يجب أن يقوم <code>euler306()</code> بإرجاع 852938.
    testString: 'assert.strictEqual(euler306(), 852938, "<code>euler306()</code> should return 852938.");'

Challenge Seed

function euler306() {
  // Good luck!
  return true;
}

euler306();

Solution

// solution required