freeCodeCamp/curriculum/challenges/chinese/08-coding-interview-prep/project-euler/problem-472-comfortable-dis...

1.7 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f5451000cf542c510057 5 Problem 472: Comfortable Distance II 问题472舒适的距离II

Description

连续N个座位。 N人按照以下规则一个接一个地来到座位没有人坐在另一个人旁边。第一个人选择任何座位。只要不违反规则1每个后续人员选择离已经就座的人最远的座位。如果满足该条件的选择不止一个则该人选择最左边的选择。请注意由于规则1某些座位肯定会未被占用并且可以坐着的最大人数小于N对于N> 1

以下是N = 15的可能座位安排

我们看到如果第一个人选择正确15个座位最多可容纳7人。我们还可以看到第一个人有9个选择来最大化可能坐着的人数。

设fN是第一个人必须选择的数量以最大化连续N个座位的占用者数量。因此f1= 1f15= 9f20= 6并且f500= 16。

此外对于1≤N≤20ΣfN= 83对于1≤N≤500ΣfN= 13343。

找到ΣfN为1≤N≤1012。给出答案的最后8位数字。

Instructions

Tests

tests:
  - text: <code>euler472()</code>应该返回73811586。
    testString: 'assert.strictEqual(euler472(), 73811586, "<code>euler472()</code> should return 73811586.");'

Challenge Seed

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

euler472();

Solution

// solution required