PDA

View Full Version : Infinite String and Letter Puzzle


K Sengupta
Jan12-10, 01:24 AM
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?

ƒ(x)
Jan12-10, 08:18 AM
T I think

LAF
Jan12-10, 09:36 AM
I Think it´s:R

DavidSnider
Jan12-10, 10:29 AM
Here's my guess:


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

davee123
Jan13-10, 10:13 AM
#!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

Zubin
Jan14-10, 11:47 PM
#!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.

ƒ(x)
Jan16-10, 08:34 AM
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.