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