```--nextPart1896260.BgATiusI6Z
Content-Type: text/plain;
charset="iso-8859-6"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Thanks for catching the "pangram" versus "panagram" issue, I had never noti=
ced=20
it. Thanks to everyone for your great solutions, they are very interesting=
=20
and I have learned a lot from reading them.

In the interest of completeness, here is my original script that prompted m=
e=20
to suggest this quiz. Those that read the Perl solution will recognize it i=
s=20
very similar. This code is limited because (like the perl script) it will=20
barf if the count of any one letter is > 99, however, I have not found this=
=20
to be a practical problem with any seeds I have tried (I think the greatest=
=20
letter count was ~35).

This code produced two solutions using the same seed, something I thought n=
ot=20
possible (at least when using a reasonable short seed):

Only a fool would check that this sentence contains exactly six 'a's, one '=
b',=20
six 'c's, three 'd's, thirty-four 'e's, five 'f's, two 'g's, ten 'h's,=20
thirteen 'i's, one 'j', two 'k's, five 'l's, one 'm', twenty-two 'n's,=20
seventeen 'o's, one 'p', one 'q', seven 'r's, thirty-two 's's,=20
twenty-six 't's, three 'u's, seven 'v's, eight 'w's, six 'x's, seven 'y's,=
=20
and one 'z'.

and:

Only a fool would check that this sentence contains exactly six 'a's, one '=
b',=20
six 'c's, three 'd's, thirty-three 'e's, four 'f's, two 'g's, ten 'h's,=20
twelve 'i's, one 'j', two 'k's, six 'l's, one 'm', twenty 'n's, sixteen 'o'=
s,=20
one 'p', one 'q', seven 'r's, thirty-two 's's, twenty-five 't's, three 'u's=
,=20
six 'v's, eight 'w's, seven 'x's, seven 'y's, and one 'z'

And the code:

#################
\$snum =3D {
1 =3D> 'one', 2 =3D> 'two', 3 =3D> 'three', 4 =3D> 'four', 5 =3D> 'five=
', 6=20
=3D> 'six',
7 =3D> 'seven', 8 =3D> 'eight', 9 =3D> 'nine', 10 =3D> 'ten', 11 =3D> '=
eleven',
12 =3D> 'twelve', 13 =3D> 'thirteen', 14 =3D> 'fourteen', 15 =3D> 'fift=
een',
16 =3D> 'sixteen', 17 =3D> 'seventeen', 18 =3D> 'eighteen', 19 =3D> 'ni=
neteen',
20 =3D> 'twenty', 30 =3D> 'thirty', 40 =3D> 'forty', 50 =3D> 'fifty', 6=
0=20
=3D> 'sixty',
70 =3D> 'seventy', 80 =3D> 'eighty', 90 =3D> 'ninety'
}

def spelledNumber(x)
if x >=3D 100
print "must be 99 or less"
exit
elsif x <=3D 20
\$snum[x]
else
tens =3D (x / 10).to_i * 10
if x - tens =3D=3D 0
\$snum[x]
else
\$snum[tens] + "-" + \$snum[x - tens]
end
end
end

def checkIfTrue(s)
realCount =3D {}
LETTERS.each do |c|
realCount[c] =3D s.count(c)
end=20
if \$fixedCount =3D=3D realCount
puts "Found it:"
puts s
exit
end
\$fixedCount.each do |key, value|
x =3D s.count(key)
y =3D value
\$fixedCount[key] =3D randomizer(x, y)
end
\$fixedCount
end

def randomizer(x, y)
if x =3D=3D y then return x end
if x > y then x, y =3D y, x end
rand(y-x+1)+x
end=20

LETTERS =3D ('a'..'z').to_a
seed =3D %q/darrens ruby panagram program found this sentence which contain=
s=20
exactly and /
\$fixedCount =3D {}
LETTERS.each { |c| \$fixedCount[c] =3D rand(50) }

while 1
(1..10000).each do
s =3D seed
LETTERS.each do |c|
s +=3D spelledNumber(\$fixedCount[c])
s +=3D " '#{c}'"
s +=3D \$fixedCount[c] >=3D 2 ? "s, " : ", "
end
\$fixedCount =3D checkIfTrue(s)
end
print "\t10K blip...\n"
end
###################

=2D-=20
darren kirby :: Part of the problem since 1976 :: http://badcomputer.org
"...the number of UNIX installations has grown to 10, with more expected..."
=2D Dennis Ritchie and Ken Thompson, June 1972

--nextPart1896260.BgATiusI6Z
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (GNU/Linux)

iD8DBQBEtXMMwPD5Cr/3CJgRAmefAKDikB6co/gqVVEAup14QJcsQiaByQCgyviB
Czkk2hO3MzIyq3LHjyEmMf8=
=lWcs
-----END PGP SIGNATURE-----

--nextPart1896260.BgATiusI6Z--

```