freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-359-hilberts-new-ho...

3.0 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f4d31000cf542c50ffe6 5 Problem 359: Hilbert"s New Hotel Задача 359: Новый отель Гильберта

Description

Бесконечное количество людей (пронумеровано 1, 2, 3 и т. Д.) Выстроились в очередь, чтобы получить номер в новейшей бесконечной гостинице Гильберта. Отель содержит бесконечное количество этажей (пронумеровано 1, 2, 3 и т. Д.), И каждый этаж содержит бесконечное количество комнат (число 1, 2, 3 и т. Д.).

Первоначально отель пуст. Гильберт объявляет правило о том, каким образом человеку присваивается номер: человек n получает первую свободную комнату на нижнем пронумерованном этаже, удовлетворяющую одно из следующих: пол пуст, пол не пуст, и если последний человек принимает комнату в этом этаже находится человек m, то m + n - идеальный квадрат

Человек 1 получает комнату 1 в этаже 1, так как пол 1 пуст. Человек 2 не получает комнату 2 в полу 1, так как 1 + 2 = 3 не является идеальным квадратом. Человек 2 вместо этого получает комнату 1 в полу 2, так как этаж 2 пуст. Человек 3 получает комнату 2 в 1 этаже, так как 1 + 3 = 4 - идеальный квадрат.

В конце концов, каждый человек в очереди получает номер в отеле.

Определите P (f, r) как n, если человек n занимает комнату r в поле f и 0, если человек не занимает комнату. Вот несколько примеров: P (1, 1) = 1 P (1, 2) = 3 P (2, 1) = 2 P (10, 20) = 440 P (25, 75) = 4863 P (99, 100) = 19454

Найдите сумму всех P (f, r) для всех положительных f и r таких, что f × r = 71328803586048 и в качестве вашего ответа укажите последние 8 цифр.

Instructions

undefined

Tests

tests:
  - text: ''
    testString: 'assert.strictEqual(euler359(), 40632119, "<code>euler359()</code> should return 40632119.");'

Challenge Seed

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

euler359();

Solution

// solution required