# Infinite String and Letter Puzzle

The string abbcccddddeeeee… continuously repeats such that after the final z, the letters abbcccddddeeeee… begin again.

What will be the 3000th letter in the pattern?

Last edited:

## Answers and Replies

T
I think

I Think it´s:
R

DavidSnider
Gold Member
Here's my guess:

Code:
var alpha = "abcdefghijklmnopqrstuvwxyz".split("");
var a = [];
var i=0;
var j=0;
var k=0;

while(i<=3000) {
for(j=0;j<k;j++) {
if(i<3000) {
a.push(alpha[k-1]);
}
i++;
}
k++;
if(k > alpha.length) k = 0;
}

a[a.length-1];

t

Last edited:
Code:
#!perl
for(A..Z) {$s.=$_ x++$i;}$t=$s.($s x int(3000/length $s)); print substr($t,2999,1)."\n";

Or, more appropriately:

There are 26 letters in the alphabet, hence the string from the first A to the final Z will be ((1+26)/2)*26 characters long (351 characters). 3000 modulo 351 is 192. Hence, the 3000th character will be the same as the 192nd character. You can find this by finding when N choose 2 is equal to or greater than 192, which happens to be at N=20 (20 choose 2 being 210). And the 20th letter of the alphabet is T.

And the next question-- what happens if instead, after the final Z, the next A repeats 27 times, then B repeats 28 times and so forth?

DaveE

Last edited:
Code:
#!perl
for(A..Z) {$s.=$_ x++$i;}$t=$s.($s x int(3000/length $s)); print substr($t,2999,1)."\n";

Or, more appropriately:

There are 26 letters in the alphabet, hence the string from the first A to the final Z will be ((1+26)/2)*26 characters long (351 characters). 3000 modulo 351 is 192. Hence, the 3000th character will be the same as the 192nd character. You can find this by finding when N choose 2 is equal to or greater than 192, which happens to be at N=20 (20 choose 2 being 210). And the 20th letter of the alphabet is T.

And the next question-- what happens if instead, after the final Z, the next A repeats 27 times, then B repeats 28 times and so forth?

DaveE

I used basic math for this.
x(x+1) = 6000 and x = int -> x^2 < 6000 < x^2 + x ; x= 77. My answer is Y.

I used basic math for this.
x(x+1) = 6000 and x = int -> x^2 < 6000 < x^2 + x ; x= 77. My answer is Y.

There appears to be something wrong with your basic math.

26*(26+1)/2 = 351
3000 / 351 = 8.547...
3000-351(8) = 192

192-1-2-3-4...-19 = 2

So T is the 3000th letter.