Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com> Co-authored-by: Beau Carnes <beaucarnes@gmail.com>
		
			
				
	
	
	
		
			2.2 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.2 KiB
		
	
	
	
	
	
	
	
id, challengeType, isHidden, title, forumTopicId
| id | challengeType | isHidden | title | forumTopicId | 
|---|---|---|---|---|
| 5900f3971000cf542c50feaa | 5 | false | Problem 43: Sub-string divisibility | 302100 | 
Description
The number, 1406357289, is a 0 to 9 pandigital number because it is made up of each of the digits 0 to 9 in some order, but it also has a rather interesting sub-string divisibility property.
Let d1 be the 1st digit, d2 be the 2nd digit, and so on. In this way, we note the following:
- d2d3d4 = 406 is divisible by 2
- d3d4d5 = 063 is divisible by 3
- d4d5d6 = 635 is divisible by 5
- d5d6d7 = 357 is divisible by 7
- d6d7d8 = 572 is divisible by 11
- d7d8d9 = 728 is divisible by 13
- d8d9d10 = 289 is divisible by 17
Find the numbers of all 0 to 9 pandigital numbers with this property.
Instructions
Tests
tests:
  - text: <code>substringDivisibility()</code> should return an array.
    testString: assert(Array.isArray(substringDivisibility()));
  - text: <code>substringDivisibility()</code> should return [ 1430952867, 1460357289, 1406357289, 4130952867, 4160357289, 4106357289 ].
    testString: assert.sameMembers(substringDivisibility(), [ 1430952867, 1460357289, 1406357289, 4130952867, 4160357289, 4106357289 ]);
  - text: You should not copy and return the array.
    testString: assert(!removeJSComments(code).match(/(1430952867)|(1460357289)|(1406357289)|(4130952867)|(4160357289)|(4106357289)/))
Challenge Seed
function substringDivisibility() {
  // Good luck!
  return [];
}
substringDivisibility();
After Test
const removeJSComments = str => str.replace(/\/\*[\s\S]*?\*\/|\/\/.*$/gm, '');
Solution
// solution required