freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-408-admissible-path...

1.6 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f5091000cf542c51001b 5 Problem 408: Admissible paths through a grid Задача 408: Допустимые пути через сетку

Description

Назовем точку решетки (x, y) недопустимой, если x, y и x + y - все положительные совершенные квадраты. Например, (9, 16) недопустимо, а (0, 4), (3, 1) и (9, 4) - нет.

Рассмотрим путь от точки (x1, y1) до точки (x2, y2), используя только единичные шаги на север или восток. Назовем такой путь допустимым, если ни одна из его промежуточных точек недопустима.

Пусть P (n) - число допустимых путей от (0, 0) до (n, n). Можно проверить, что P (5) = 252, P (16) = 596994440 и P (1000) mod 1 000 000 007 = 341920854.

Найти P (10 000 000) mod 1 000 000 007.

Instructions

undefined

Tests

tests:
  - text: <code>euler408()</code> должен вернуть 299742733.
    testString: 'assert.strictEqual(euler408(), 299742733, "<code>euler408()</code> should return 299742733.");'

Challenge Seed

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

euler408();

Solution

// solution required