Infinite String and Letter Puzzle

AI Thread Summary
The discussion centers on determining the 3000th letter in a repeating string pattern that starts with "abbcccddddeeeee..." and continues through the alphabet. Participants share code snippets in various programming languages, such as Perl, to calculate the desired letter. One user suggests a method using loops and arrays to build the string, while another proposes a mathematical approach. There is a mention of a variation where after 'Z', the next 'A' would repeat 27 times, followed by 'B' repeating 28 times, prompting further exploration of how this would affect the sequence. The conversation includes some confusion regarding the accuracy of the mathematical calculations presented.
K Sengupta
Messages
113
Reaction score
0
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:
Physics news on Phys.org
T
I think
 
I Think it´s:
R
 
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:
davee123 said:
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.
 
Zubin said:
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.
 
Back
Top