Created
September 17, 2016 00:27
-
-
Save zpd-2016-17/c6bd27f679ee091a85f4aee153cce7f8 to your computer and use it in GitHub Desktop.
Riddler Express - 16/09/2016 (FiveThirtyEight)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
program Project1; | |
uses sysutils; | |
var twitter:String; | |
var num18,num17,num16,num15,num14,num13,num12,num11,num10,num9,num8,num7,num6,num5,num4,num3,num2,num1,num:Int64; | |
begin | |
num:=1111111111111; //the starting number I used for searching. The action starts around 200 billion numbers later, but I kept it for the sake of archival | |
Repeat | |
inc(num,1); | |
twitter:=''; | |
num1:= num mod 10; | |
num2:= num mod 100 div 10; | |
num3:= num mod 1000 div 100; | |
num4:= num mod 10000 div 1000; | |
num5:= num mod 100000 div 10000; | |
num6:= num mod 1000000 div 100000; | |
num7:= num mod 10000000 div 1000000; | |
num8:= num mod 100000000 div 10000000; | |
num9:= num mod 1000000000 div 100000000; | |
num10:= num mod 10000000000 div 1000000000; | |
num11:= num mod 100000000000 div 10000000000; | |
num12:= num mod 1000000000000 div 100000000000; | |
num13:= num mod 10000000000000 div 1000000000000; | |
num14:= num mod 100000000000000 div 10000000000000; | |
num15:= num mod 1000000000000000 div 100000000000000; | |
num16:= num mod 10000000000000000 div 1000000000000000; | |
num17:= num mod 100000000000000000 div 10000000000000000; | |
num18:= num mod 1000000000000000000 div 100000000000000000; | |
if num18>0 then | |
case num18 of | |
1: twitter:=twitter+'one hundred'; | |
2: twitter:=twitter+'two hundred'; | |
3: twitter:=twitter+'three hundred'; | |
4: twitter:=twitter+'four hundred'; | |
5: twitter:=twitter+'five hundred'; | |
6: twitter:=twitter+'six hundred'; | |
7: twitter:=twitter+'seven hundred'; | |
8: twitter:=twitter+'eight hundred'; | |
9: twitter:=twitter+'nine hundred'; | |
end; | |
if (num18>0) then | |
twitter:=twitter+' '; | |
if (((num17*10)+num16) >9) AND (((num17*10)+num16) < 20) then | |
case ((num17*10)+num16) of | |
10: twitter:=twitter+'ten quadrillion'; | |
11: twitter:=twitter+'eleven quadrillion'; | |
12: twitter:=twitter+'twelve quadrillion'; | |
13: twitter:=twitter+'thirteen quadrillion'; | |
14: twitter:=twitter+'fourteen quadrillion'; | |
15: twitter:=twitter+'fifteen quadrillion'; | |
16: twitter:=twitter+'sixteen quadrillion'; | |
17: twitter:=twitter+'seventeen quadrillion'; | |
18: twitter:=twitter+'eighteen quadrillion'; | |
19: twitter:=twitter+'nineteen quadrillion'; | |
end | |
else | |
begin | |
case num17 of | |
2: twitter:=twitter+'twenty'; | |
3: twitter:=twitter+'thirty'; | |
4: twitter:=twitter+'forty'; | |
5: twitter:=twitter+'fifty'; | |
6: twitter:=twitter+'sixty'; | |
7: twitter:=twitter+'seventy'; | |
8: twitter:=twitter+'eighty'; | |
9: twitter:=twitter+'ninety'; | |
end; | |
if num17>1 then twitter:=twitter+' '; | |
if (num17 >0) OR (num18>0) then | |
case num16 of | |
0: twitter:=twitter+'quadrillion'; | |
end; | |
case num16 of | |
1: twitter:=twitter+'one quadrillion'; | |
2: twitter:=twitter+'two quadrillion'; | |
3: twitter:=twitter+'three quadrillion'; | |
4: twitter:=twitter+'four quadrillion'; | |
5: twitter:=twitter+'five quadrillion'; | |
6: twitter:=twitter+'six quadrillion'; | |
7: twitter:=twitter+'seven quadrillion'; | |
8: twitter:=twitter+'eight quadrillion'; | |
9: twitter:=twitter+'nine quadrillion'; | |
end; | |
end; | |
if ((num15 = 0) AND (num14 = 0) AND (num13 = 0) AND (num12 = 0) AND (num11 = 0) AND (num10 = 0) AND (num9 = 0) AND (num8 = 0) AND (num7 = 0) AND (num6 = 0) AND (num5 = 0) AND (num4 = 0) AND (num3 = 0) AND (num2 = 0) AND (num1 = 0)) | |
then twitter:=twitter+'!' | |
else | |
begin | |
if (num16>0) OR (num17 >0) OR (num18>0) then | |
twitter:=twitter+' '; | |
if num15>0 then | |
case num15 of | |
1: twitter:=twitter+'one hundred'; | |
2: twitter:=twitter+'two hundred'; | |
3: twitter:=twitter+'three hundred'; | |
4: twitter:=twitter+'four hundred'; | |
5: twitter:=twitter+'five hundred'; | |
6: twitter:=twitter+'six hundred'; | |
7: twitter:=twitter+'seven hundred'; | |
8: twitter:=twitter+'eight hundred'; | |
9: twitter:=twitter+'nine hundred'; | |
end; | |
if num15>0 then | |
twitter:=twitter+' '; | |
if (((num14*10)+num13) >9) AND (((num14*10)+num13) < 20) then | |
case ((num14*10)+num13) of | |
10: twitter:=twitter+'ten trillion'; | |
11: twitter:=twitter+'eleven trillion'; | |
12: twitter:=twitter+'twelve trillion'; | |
13: twitter:=twitter+'thirteen trillion'; | |
14: twitter:=twitter+'fourteen trillion'; | |
15: twitter:=twitter+'fifteen trillion'; | |
16: twitter:=twitter+'sixteen trillion'; | |
17: twitter:=twitter+'seventeen trillion'; | |
18: twitter:=twitter+'eighteen trillion'; | |
19: twitter:=twitter+'nineteen trillion'; | |
end | |
else | |
begin | |
case num14 of | |
2: twitter:=twitter+'twenty'; | |
3: twitter:=twitter+'thirty'; | |
4: twitter:=twitter+'forty'; | |
5: twitter:=twitter+'fifty'; | |
6: twitter:=twitter+'sixty'; | |
7: twitter:=twitter+'seventy'; | |
8: twitter:=twitter+'eighty'; | |
9: twitter:=twitter+'ninety'; | |
end; | |
if num14>1 then twitter:=twitter+' '; | |
if (num14 >0) OR (num15>0) then | |
case num13 of | |
0: twitter:=twitter+'trillion'; | |
end; | |
case num13 of | |
1: twitter:=twitter+'one trillion'; | |
2: twitter:=twitter+'two trillion'; | |
3: twitter:=twitter+'three trillion'; | |
4: twitter:=twitter+'four trillion'; | |
5: twitter:=twitter+'five trillion'; | |
6: twitter:=twitter+'six trillion'; | |
7: twitter:=twitter+'seven trillion'; | |
8: twitter:=twitter+'eight trillion'; | |
9: twitter:=twitter+'nine trillion'; | |
end; | |
end; | |
end; | |
if ((num12 = 0) AND (num11 = 0) AND (num10 = 0) AND (num9 = 0) AND (num8 = 0) AND (num7 = 0) AND (num6 = 0) AND (num5 = 0) AND (num4 = 0) AND (num3 = 0) AND (num2 = 0) AND (num1 = 0)) | |
then twitter:=twitter+'!' | |
else | |
begin | |
if (num13>0) OR (num14 >0) OR (num15>0) then | |
twitter:=twitter+' '; | |
if num12>0 then | |
case num12 of | |
1: twitter:=twitter+'one hundred'; | |
2: twitter:=twitter+'two hundred'; | |
3: twitter:=twitter+'three hundred'; | |
4: twitter:=twitter+'four hundred'; | |
5: twitter:=twitter+'five hundred'; | |
6: twitter:=twitter+'six hundred'; | |
7: twitter:=twitter+'seven hundred'; | |
8: twitter:=twitter+'eight hundred'; | |
9: twitter:=twitter+'nine hundred'; | |
end; | |
if num12>0 then | |
twitter:=twitter+' '; | |
if (((num11*10)+num10) >9) AND (((num11*10)+num10) < 20) then | |
case ((num11*10)+num10) of | |
10: twitter:=twitter+'ten billion'; | |
11: twitter:=twitter+'eleven billion'; | |
12: twitter:=twitter+'twelve billion'; | |
13: twitter:=twitter+'thirteen billion'; | |
14: twitter:=twitter+'fourteen billion'; | |
15: twitter:=twitter+'fifteen billion'; | |
16: twitter:=twitter+'sixteen billion'; | |
17: twitter:=twitter+'seventeen billion'; | |
18: twitter:=twitter+'eighteen billion'; | |
19: twitter:=twitter+'nineteen billion'; | |
end | |
else | |
begin | |
case num11 of | |
2: twitter:=twitter+'twenty'; | |
3: twitter:=twitter+'thirty'; | |
4: twitter:=twitter+'forty'; | |
5: twitter:=twitter+'fifty'; | |
6: twitter:=twitter+'sixty'; | |
7: twitter:=twitter+'seventy'; | |
8: twitter:=twitter+'eighty'; | |
9: twitter:=twitter+'ninety'; | |
end; | |
if num11>1 then twitter:=twitter+' '; | |
if (num11 >0) OR (num12>0) then | |
case num10 of | |
0: twitter:=twitter+'billion'; | |
end; | |
case num10 of | |
1: twitter:=twitter+'one billion'; | |
2: twitter:=twitter+'two billion'; | |
3: twitter:=twitter+'three billion'; | |
4: twitter:=twitter+'four billion'; | |
5: twitter:=twitter+'five billion'; | |
6: twitter:=twitter+'six billion'; | |
7: twitter:=twitter+'seven billion'; | |
8: twitter:=twitter+'eight billion'; | |
9: twitter:=twitter+'nine billion'; | |
end; | |
end; | |
end;if ((num9 = 0) AND (num8 = 0) AND (num7 = 0) AND (num6 = 0) AND (num5 = 0) AND (num4 = 0) AND (num3 = 0) AND (num2 = 0) AND (num1 = 0)) | |
then twitter:=twitter+'!' | |
else | |
begin | |
if (num10>0) OR (num11 >0) OR (num12>0) then | |
twitter:=twitter+' '; | |
if num9>0 then | |
case num9 of | |
1: twitter:=twitter+'one hundred'; | |
2: twitter:=twitter+'two hundred'; | |
3: twitter:=twitter+'three hundred'; | |
4: twitter:=twitter+'four hundred'; | |
5: twitter:=twitter+'five hundred'; | |
6: twitter:=twitter+'six hundred'; | |
7: twitter:=twitter+'seven hundred'; | |
8: twitter:=twitter+'eight hundred'; | |
9: twitter:=twitter+'nine hundred'; | |
end; | |
if num9>0 then | |
twitter:=twitter+' '; | |
if (((num8*10)+num7) >9) AND (((num8*10)+num7) < 20) then | |
case ((num8*10)+num7) of | |
10: twitter:=twitter+'ten million'; | |
11: twitter:=twitter+'eleven million'; | |
12: twitter:=twitter+'twelve million'; | |
13: twitter:=twitter+'thirteen million'; | |
14: twitter:=twitter+'fourteen million'; | |
15: twitter:=twitter+'fifteen million'; | |
16: twitter:=twitter+'sixteen million'; | |
17: twitter:=twitter+'seventeen million'; | |
18: twitter:=twitter+'eighteen million'; | |
19: twitter:=twitter+'nineteen million'; | |
end | |
else | |
begin | |
case num8 of | |
2: twitter:=twitter+'twenty'; | |
3: twitter:=twitter+'thirty'; | |
4: twitter:=twitter+'forty'; | |
5: twitter:=twitter+'fifty'; | |
6: twitter:=twitter+'sixty'; | |
7: twitter:=twitter+'seventy'; | |
8: twitter:=twitter+'eighty'; | |
9: twitter:=twitter+'ninety'; | |
end; | |
if num8>1 then twitter:=twitter+' '; | |
if (num8 >0) OR (num9>0) then | |
case num7 of | |
0: twitter:=twitter+'million'; | |
end; | |
case num7 of | |
1: twitter:=twitter+'one million'; | |
2: twitter:=twitter+'two million'; | |
3: twitter:=twitter+'three million'; | |
4: twitter:=twitter+'four million'; | |
5: twitter:=twitter+'five million'; | |
6: twitter:=twitter+'six million'; | |
7: twitter:=twitter+'seven million'; | |
8: twitter:=twitter+'eight million'; | |
9: twitter:=twitter+'nine million'; | |
end; | |
end; | |
end;if ((num6 = 0) AND (num5 = 0) AND (num4 = 0) AND (num3 = 0) AND (num2 = 0) AND (num1 = 0)) | |
then twitter:=twitter+'!' | |
else | |
begin | |
if (num7>0) OR (num8 >0) OR (num9>0) then | |
twitter:=twitter+' '; | |
if num6>0 then | |
case num6 of | |
1: twitter:=twitter+'one hundred'; | |
2: twitter:=twitter+'two hundred'; | |
3: twitter:=twitter+'three hundred'; | |
4: twitter:=twitter+'four hundred'; | |
5: twitter:=twitter+'five hundred'; | |
6: twitter:=twitter+'six hundred'; | |
7: twitter:=twitter+'seven hundred'; | |
8: twitter:=twitter+'eight hundred'; | |
9: twitter:=twitter+'nine hundred'; | |
end; | |
if num6>0 then | |
twitter:=twitter+' '; | |
if (((num5*10)+num4) >9) AND (((num5*10)+num4) < 20) then | |
case ((num5*10)+num4) of | |
10: twitter:=twitter+'ten thousand'; | |
11: twitter:=twitter+'eleven thousand'; | |
12: twitter:=twitter+'twelve thousand'; | |
13: twitter:=twitter+'thirteen thousand'; | |
14: twitter:=twitter+'fourteen thousand'; | |
15: twitter:=twitter+'fifteen thousand'; | |
16: twitter:=twitter+'sixteen thousand'; | |
17: twitter:=twitter+'seventeen thousand'; | |
18: twitter:=twitter+'eighteen thousand'; | |
19: twitter:=twitter+'nineteen thousand'; | |
end | |
else | |
begin | |
case num5 of | |
2: twitter:=twitter+'twenty'; | |
3: twitter:=twitter+'thirty'; | |
4: twitter:=twitter+'forty'; | |
5: twitter:=twitter+'fifty'; | |
6: twitter:=twitter+'sixty'; | |
7: twitter:=twitter+'seventy'; | |
8: twitter:=twitter+'eighty'; | |
9: twitter:=twitter+'ninety'; | |
end; | |
if num5>1 then twitter:=twitter+' '; | |
if (num5 >0) OR (num6>0) then | |
case num4 of | |
0: twitter:=twitter+'thousand'; | |
end; | |
case num4 of | |
1: twitter:=twitter+'one thousand'; | |
2: twitter:=twitter+'two thousand'; | |
3: twitter:=twitter+'three thousand'; | |
4: twitter:=twitter+'four thousand'; | |
5: twitter:=twitter+'five thousand'; | |
6: twitter:=twitter+'six thousand'; | |
7: twitter:=twitter+'seven thousand'; | |
8: twitter:=twitter+'eight thousand'; | |
9: twitter:=twitter+'nine thousand'; | |
end; | |
end; | |
end;if ((num3 = 0) AND (num2 = 0) AND (num1 = 0)) | |
then twitter:=twitter+'!' | |
else | |
begin | |
if (num4>0) OR (num5 >0) OR (num6>0) then | |
twitter:=twitter+' '; | |
if num3>0 then | |
case num3 of | |
1: twitter:=twitter+'one hundred'; | |
2: twitter:=twitter+'two hundred'; | |
3: twitter:=twitter+'three hundred'; | |
4: twitter:=twitter+'four hundred'; | |
5: twitter:=twitter+'five hundred'; | |
6: twitter:=twitter+'six hundred'; | |
7: twitter:=twitter+'seven hundred'; | |
8: twitter:=twitter+'eight hundred'; | |
9: twitter:=twitter+'nine hundred'; | |
end; | |
if num3>0 then | |
twitter:=twitter+' '; | |
if (((num2*10)+num1) >9) AND (((num2*10)+num1) < 20) then | |
case ((num2*10)+num1) of | |
10: twitter:=twitter+'ten'; | |
11: twitter:=twitter+'eleven'; | |
12: twitter:=twitter+'twelve'; | |
13: twitter:=twitter+'thirteen'; | |
14: twitter:=twitter+'fourteen'; | |
15: twitter:=twitter+'fifteen'; | |
16: twitter:=twitter+'sixteen'; | |
17: twitter:=twitter+'seventeen'; | |
18: twitter:=twitter+'eighteen'; | |
19: twitter:=twitter+'nineteen'; | |
end | |
else | |
begin | |
case num2 of | |
2: twitter:=twitter+'twenty'; | |
3: twitter:=twitter+'thirty'; | |
4: twitter:=twitter+'forty'; | |
5: twitter:=twitter+'fifty'; | |
6: twitter:=twitter+'sixty'; | |
7: twitter:=twitter+'seventy'; | |
8: twitter:=twitter+'eighty'; | |
9: twitter:=twitter+'ninety'; | |
end; | |
if num2>1 then twitter:=twitter+' '; | |
case num1 of | |
0: twitter:=twitter+''; | |
1: twitter:=twitter+'one'; | |
2: twitter:=twitter+'two'; | |
3: twitter:=twitter+'three'; | |
4: twitter:=twitter+'four'; | |
5: twitter:=twitter+'five'; | |
6: twitter:=twitter+'six'; | |
7: twitter:=twitter+'seven'; | |
8: twitter:=twitter+'eight'; | |
9: twitter:=twitter+'nine'; | |
end; | |
end; | |
end; | |
if twitter[Length(twitter)] <> '!' then twitter:=twitter+'!'; | |
//writeln(twitter,';',Length(twitter)); | |
until Length(twitter)=140; //change to >140 if you want to know the overflow number! | |
writeln('DONE'); | |
writeln(num,' :',twitter); | |
writeln(Length(twitter)); | |
readln; | |
end. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment