curriculum/challenges/english/blocks/project-euler-problems-1-to-100/5900f3941000cf542c50fea7.md
An irrational decimal fraction is created by concatenating the positive integers:
0.123456789101112131415161718192021...
It can be seen that the 12<sup>th</sup> digit of the fractional part is 1.
If d<sub>n</sub> represents the n<sup>th</sup> digit of the fractional part, find the value of the following expression.
d<sub>1</sub> × d<sub>10</sub> × d<sub>100</sub> × d<sub>1000</sub> × d<sub>10000</sub> × d<sub>100000</sub> × d<sub>1000000</sub>
champernownesConstant(100) should return a number.
assert(typeof champernownesConstant(100) === 'number');
champernownesConstant(100) should return 5.
assert.strictEqual(champernownesConstant(100), 5);
champernownesConstant(1000) should return 15.
assert.strictEqual(champernownesConstant(1000), 15);
champernownesConstant(1000000) should return 210.
assert.strictEqual(champernownesConstant(1000000), 210);
function champernownesConstant(n) {
return true;
}
champernownesConstant(100);
function champernownesConstant(n) {
let fractionalPart = '';
for (let i = 0; fractionalPart.length <= n; i++) {
fractionalPart += i.toString();
}
let product = 1;
for (let i = 0; i < n.toString().length; i++) {
const index = 10 ** i;
product *= parseInt(fractionalPart[index], 10);
}
return product;
}