fix(seed): Add tests and solution for Project Euler 14 (#16621)
Added tests and a working solution for problem.
This commit is contained in:
		
				
					committed by
					
						 Stuart Taylor
						Stuart Taylor
					
				
			
			
				
	
			
			
			
						parent
						
							3cb7caa7e8
						
					
				
				
					commit
					43eaff2957
				
			| @@ -544,17 +544,21 @@ | |||||||
|       "type": "bonfire", |       "type": "bonfire", | ||||||
|       "title": "Problem 14: Longest Collatz sequence", |       "title": "Problem 14: Longest Collatz sequence", | ||||||
|       "tests": [ |       "tests": [ | ||||||
|         "assert.strictEqual(euler14(), 837799, 'message: <code>euler14()</code> should return 837799.');" |         "assert.strictEqual(longestCollatzSequence(14), 9, 'message: <code>longestCollatzSequence(14)</code> should return 9.');", | ||||||
|  |         "assert.strictEqual(longestCollatzSequence(5847), 3711, 'message: <code>longestCollatzSequence(5847)</code> should return 3711.');", | ||||||
|  |         "assert.strictEqual(longestCollatzSequence(1000000), 837799, 'message: <code>longestCollatzSequence(1000000)</code> should return 837799.');" | ||||||
|       ], |       ], | ||||||
|       "solutions": [], |       "solutions": ["function longestCollatzSequence(limit) {\n  let longestSequenceLength = 0;\n  let startingNum = 0;\n\n  function sequenceLength(num) {\n    let length = 1;\n\n    while (num >= 1) {\n      if (num === 1) {        break;\n      } else if (num % 2 === 0) {\n        num = num / 2;\n        length++;\n      } else {\n        num = num * 3 + 1;\n        length++;\n      }\n    }\n    return length;\n  }\n\n  for (let i = 2; i < limit; i++) {\n    let currSequenceLength = sequenceLength(i);\n    if (currSequenceLength > longestSequenceLength) {\n      longestSequenceLength = currSequenceLength;\n      startingNum = i;\n    }\n  }\n  return startingNum;\n}"], | ||||||
|       "translations": {}, |       "translations": {}, | ||||||
|       "challengeSeed": [ |       "challengeSeed": [ | ||||||
|         "function euler14() {", |         "function longestCollatzSequence(limit) {", | ||||||
|         "  // Good luck!", |         "  // Good luck!", | ||||||
|         "  return true;", |         "  return true;", | ||||||
|         "}", |         "}", | ||||||
|         "", |         "", | ||||||
|         "euler14();" |         "longestCollatzSequence(14);", | ||||||
|  |         "longestCollatzSequence(5847);", | ||||||
|  |         "longestCollatzSequence(1000000);" | ||||||
|       ], |       ], | ||||||
|       "description": [ |       "description": [ | ||||||
|         "The following iterative sequence is defined for the set of positive integers:", |         "The following iterative sequence is defined for the set of positive integers:", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user