freeCodeCamp/curriculum/challenges/english/10-coding-interview-prep/project-euler/problem-419-look-and-say-se...

1.5 KiB

id title challengeType forumTopicId dashedName
5900f5101000cf542c510022 Problem 419: Look and say sequence 5 302088 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) = 31\\,254, B(40) = 20\\,259 and C(40) = 11\\,625.

Find A(n), B(n) and C(n) for n = {10}^{12}. Give your answer modulo 2^{30} as a string 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--

lookAndSaySequence() should return a string.

assert(typeof lookAndSaySequence() === 'string');

lookAndSaySequence() should return the string 998567458,1046245404,43363922.

assert.strictEqual(lookAndSaySequence(), '998567458,1046245404,43363922');

--seed--

--seed-contents--

function lookAndSaySequence() {

  return true;
}

lookAndSaySequence();

--solutions--

// solution required