feat(curriculum): restore seed + solution to Chinese (#40683)
* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
This commit is contained in:
committed by
GitHub
parent
0095583028
commit
ee1e8abd87
@ -3,6 +3,7 @@ id: 594ecc0d9a8cf816e3340187
|
||||
title: 出租车号码
|
||||
challengeType: 5
|
||||
videoUrl: ''
|
||||
dashedName: taxicab-numbers
|
||||
---
|
||||
|
||||
# --description--
|
||||
@ -47,5 +48,67 @@ taxicabNumbers(39)由20 - 29得到的数字应为[314496,320264,327763,373
|
||||
assert.deepEqual(taxicabNumbers(39).slice(20, 29), res39From20To29);
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
## --after-user-code--
|
||||
|
||||
```js
|
||||
const res4 = [1729, 4104, 13832, 20683];
|
||||
const res25 = [
|
||||
1729, 4104, 13832, 20683, 32832, 39312, 40033, 46683, 64232, 65728, 110656,
|
||||
110808, 134379, 149389, 165464, 171288, 195841, 216027, 216125, 262656, 314496, 320264, 327763,
|
||||
373464, 402597
|
||||
];
|
||||
|
||||
const res39From20To29 = [314496, 320264, 327763, 373464, 402597, 439101, 443889, 513000, 513856];
|
||||
```
|
||||
|
||||
## --seed-contents--
|
||||
|
||||
```js
|
||||
function taxicabNumbers(n) {
|
||||
|
||||
return true;
|
||||
}
|
||||
```
|
||||
|
||||
# --solutions--
|
||||
|
||||
```js
|
||||
function taxicabNumbers(nNumbers) {
|
||||
const cubeN = [];
|
||||
const s3s = {};
|
||||
|
||||
const e = 100;
|
||||
for (let n = 1; n < e; n += 1) {
|
||||
cubeN[n] = n * n * n;
|
||||
}
|
||||
|
||||
for (let a = 1; a < e - 1; a += 1) {
|
||||
const a3 = cubeN[a];
|
||||
for (let b = a; b < e; b += 1) {
|
||||
const b3 = cubeN[b];
|
||||
const s3 = a3 + b3;
|
||||
|
||||
let abs = s3s[s3];
|
||||
if (!abs) {
|
||||
s3s[s3] = abs = [];
|
||||
}
|
||||
abs.push([a, b]);
|
||||
}
|
||||
}
|
||||
|
||||
let i = 0;
|
||||
const res = [];
|
||||
Object.keys(s3s).forEach(s3 => {
|
||||
const abs = s3s[s3];
|
||||
if (abs.length >= 2) { // No two cube pairs found
|
||||
i += 1;
|
||||
if (i <= nNumbers) {
|
||||
res.push(s3);
|
||||
}
|
||||
}
|
||||
});
|
||||
return res.map(item => parseInt(item, 10));
|
||||
}
|
||||
```
|
||||
|
Reference in New Issue
Block a user