59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| id: 5900f5101000cf542c510022
 | |
| title: 'Problem 419: Look and say sequence'
 | |
| challengeType: 5
 | |
| forumTopicId: 302088
 | |
| dashedName: problem-419-look-and-say-sequence
 | |
| ---
 | |
| 
 | |
| # --description--
 | |
| 
 | |
| The look and say sequence goes 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, ...
 | |
| 
 | |
| The sequence starts with 1 and all other members are obtained by describing the previous member in terms of consecutive digits.
 | |
| 
 | |
| It helps to do this out loud:
 | |
| 
 | |
| 1 is 'one one' → 11
 | |
| 
 | |
| 11 is 'two ones' → 21
 | |
| 
 | |
| 21 is 'one two and one one' → 1211
 | |
| 
 | |
| 1211 is 'one one, one two and two ones' → 111221
 | |
| 
 | |
| 111221 is 'three ones, two twos and one one' → 312211
 | |
| 
 | |
| ...
 | |
| 
 | |
| Define A(n), B(n) and C(n) as the number of ones, twos and threes in the n'th element of the sequence respectively. One can verify that A(40) = 31254, B(40) = 20259 and C(40) = 11625.
 | |
| 
 | |
| Find A(n), B(n) and C(n) for n = 1012. Give your answer modulo 230 and separate your values for A, B and C by a comma. E.g. for n = 40 the answer would be 31254,20259,11625
 | |
| 
 | |
| # --hints--
 | |
| 
 | |
| `euler419()` should return 998567458, 1046245404, 43363922.
 | |
| 
 | |
| ```js
 | |
| assert.strictEqual(euler419(), 998567458, 1046245404, 43363922);
 | |
| ```
 | |
| 
 | |
| # --seed--
 | |
| 
 | |
| ## --seed-contents--
 | |
| 
 | |
| ```js
 | |
| function euler419() {
 | |
| 
 | |
|   return true;
 | |
| }
 | |
| 
 | |
| euler419();
 | |
| ```
 | |
| 
 | |
| # --solutions--
 | |
| 
 | |
| ```js
 | |
| // solution required
 | |
| ```
 |