freeCodeCamp/curriculum/challenges/chinese/10-coding-interview-prep/project-euler/problem-212-combined-volume...

1.4 KiB
Raw Blame History

id title challengeType videoUrl dashedName
5900f4411000cf542c50ff53 问题212长方体的组合体积 5 problem-212-combined-volume-of-cuboids

--description--

由参数{x0y0z0dxdydz}指定的轴对齐长方体由所有点XYZ组成使得x0≤X≤x0+ dxy0≤ Y≤y0+ dy且z0≤Z≤z0+ dz。长方体的体积是乘积dx×dy×dz。长方体集合的总体积是它们的并集体积如果任何长方体重叠它将小于各个体积的总和。

设C1...C50000是50000轴对齐长方体的集合使得Cn具有参数

x0 = S6n-5模10000y0 = S6n-4模10000z0 = S6n-3模10000dx = 1 +S6n-2模399dy = 1 +S6n-1模399dz = 1 +S6n模399

其中S1...S300000来自“Lagged Fibonacci Generator”

对于1≤k≤55Sk = [100003 - 200003k + 300007k3]模1000000对于56≤kSk = [Sk-24 + Sk-55]模1000000

因此C1具有参数{7,53,18394,369,56}C2具有参数{2383,3563,507942,212,344},等等。

前100个长方体C1...C100的总体积为723581599。

所有50000个长方体的总体积是多少C1...C50000

--hints--

euler212()应该返回328968937309。

assert.strictEqual(euler212(), 328968937309);

--seed--

--seed-contents--

function euler212() {

  return true;
}

euler212();

--solutions--

// solution required