* fix(curriculum): tests quotes * fix(curriculum): fill seed-teardown * fix(curriculum): fix tests and remove unneeded seed-teardown
		
			
				
	
	
	
		
			2.0 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.0 KiB
		
	
	
	
	
	
	
	
id, challengeType, title
| id | challengeType | title | 
|---|---|---|
| 5900f3941000cf542c50fea7 | 5 | Problem 40: Champernowne's constant | 
Description
Instructions
Tests
tests:
  - text: <code>champernownesConstant(100)</code> should return 5.
    testString: assert.strictEqual(champernownesConstant(100), 5, '<code>champernownesConstant(100)</code> should return 5.');
  - text: <code>champernownesConstant(1000)</code> should return 15.
    testString: assert.strictEqual(champernownesConstant(1000), 15, '<code>champernownesConstant(1000)</code> should return 15.');
  - text: <code>champernownesConstant(1000000)</code> should return 210.
    testString: assert.strictEqual(champernownesConstant(1000000), 210, '<code>champernownesConstant(1000000)</code> should return 210.');
Challenge Seed
function champernownesConstant(n) {
  // Good luck!
  return true;
}
champernownesConstant(100);
Solution
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;
}