Last active
September 17, 2016 00:52
-
-
Save reyner/c312f8dca7fc4b7fafb5a2786fa0c73f to your computer and use it in GitHub Desktop.
FiveThirtyEight Riddler Express 9/16/16
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
countCharacters(1_000373_373373) | |
114 characters for 1000373373373 (one trillion three hundred seventy-three million three hundred seventy-three thousand three hundred seventy-three!) | |
countCharacters(1_023323_373373) | |
134 characters for 1023323373373 (one trillion twenty-three billion three hundred twenty-three million three hundred seventy-three thousand three hundred seventy-three!) | |
countCharacters(1_023373_373373) | |
135 characters for 1023373373373 (one trillion twenty-three billion three hundred seventy-three million three hundred seventy-three thousand three hundred seventy-three!) | |
countCharacters(1_073373_373373) | |
136 characters for 1073373373373 (one trillion seventy-three billion three hundred seventy-three million three hundred seventy-three thousand three hundred seventy-three!) | |
countCharacters(1_101323_373373) | |
137 characters for 1101323373373 (one trillion one hundred one billion three hundred twenty-three million three hundred seventy-three thousand three hundred seventy-three!) | |
countCharacters(1_101373_373373) | |
138 characters for 1101373373373 (one trillion one hundred one billion three hundred seventy-three million three hundred seventy-three thousand three hundred seventy-three!) | |
countCharacters(1_103323_373373) | |
139 characters for 1103323373373 (one trillion one hundred three billion three hundred twenty-three million three hundred seventy-three thousand three hundred seventy-three!) | |
countCharacters(1_103373_373373) | |
140 characters for 1103373373373 (one trillion one hundred three billion three hundred seventy-three million three hundred seventy-three thousand three hundred seventy-three!) | |
countCharacters(1_111373_373373) | |
141 characters for 1111373373373 (one trillion one hundred eleven billion three hundred seventy-three million three hundred seventy-three thousand three hundred seventy-three!) |
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
var number = 0 | |
let formatter = NumberFormatter() | |
let locale = Locale(identifier: "EN_us") | |
formatter.locale = locale | |
formatter.numberStyle = .spellOut | |
func countCharacters(_ input: Int, log: Bool = true) -> (Int, String) { | |
let spelledOutNumber = formatter.string(from: NSNumber(value: input))! | |
let characterCount = spelledOutNumber.characters.count + 1 // exclamation point | |
if log { | |
print("\(characterCount) characters for \(input) (\(spelledOutNumber)!)") | |
} | |
return (characterCount, spelledOutNumber) | |
} | |
var stop = false | |
repeat { | |
let (characterCount, spelledOutNumber) = countCharacters(number, log: false) | |
if characterCount > 140 { | |
stop = true | |
print("The first number that’s too long is \(number), or \n \(spelledOutNumber)!") | |
} | |
if characterCount > highest { | |
highest = characterCount | |
print("new highest: \(highest) (\(number) or \(spelledOutNumber)!)") | |
} | |
number += 1 | |
} while !stop |
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
new highest: 4 (1 or one) | |
new highest: 6 (3 or three) | |
new highest: 7 (11 or eleven) | |
new highest: 9 (13 or thirteen) | |
new highest: 10 (17 or seventeen) | |
new highest: 11 (21 or twenty-one) | |
new highest: 13 (23 or twenty-three) | |
new highest: 14 (73 or seventy-three) | |
new highest: 16 (101 or one hundred one) | |
new highest: 18 (103 or one hundred three) | |
new highest: 19 (111 or one hundred eleven) | |
new highest: 21 (113 or one hundred thirteen) | |
new highest: 22 (117 or one hundred seventeen) | |
new highest: 23 (121 or one hundred twenty-one) | |
new highest: 25 (123 or one hundred twenty-three) | |
new highest: 26 (173 or one hundred seventy-three) | |
new highest: 27 (323 or three hundred twenty-three) | |
new highest: 28 (373 or three hundred seventy-three) | |
new highest: 29 (1101 or one thousand one hundred one) | |
new highest: 31 (1103 or one thousand one hundred three) | |
new highest: 32 (1111 or one thousand one hundred eleven) | |
new highest: 34 (1113 or one thousand one hundred thirteen) | |
new highest: 35 (1117 or one thousand one hundred seventeen) | |
new highest: 36 (1121 or one thousand one hundred twenty-one) | |
new highest: 38 (1123 or one thousand one hundred twenty-three) | |
new highest: 39 (1173 or one thousand one hundred seventy-three) | |
new highest: 40 (1323 or one thousand three hundred twenty-three) | |
new highest: 41 (1373 or one thousand three hundred seventy-three) | |
new highest: 42 (3323 or three thousand three hundred twenty-three) | |
new highest: 43 (3373 or three thousand three hundred seventy-three) | |
new highest: 44 (11373 or eleven thousand three hundred seventy-three) | |
new highest: 45 (13323 or thirteen thousand three hundred twenty-three) | |
new highest: 46 (13373 or thirteen thousand three hundred seventy-three) | |
new highest: 47 (17373 or seventeen thousand three hundred seventy-three) | |
new highest: 48 (21373 or twenty-one thousand three hundred seventy-three) | |
new highest: 49 (23323 or twenty-three thousand three hundred twenty-three) | |
new highest: 50 (23373 or twenty-three thousand three hundred seventy-three) | |
new highest: 51 (73373 or seventy-three thousand three hundred seventy-three) | |
new highest: 52 (101323 or one hundred one thousand three hundred twenty-three) | |
new highest: 53 (101373 or one hundred one thousand three hundred seventy-three) | |
new highest: 54 (103323 or one hundred three thousand three hundred twenty-three) | |
new highest: 55 (103373 or one hundred three thousand three hundred seventy-three) | |
new highest: 56 (111373 or one hundred eleven thousand three hundred seventy-three) | |
new highest: 57 (113323 or one hundred thirteen thousand three hundred twenty-three) | |
new highest: 58 (113373 or one hundred thirteen thousand three hundred seventy-three) | |
new highest: 59 (117373 or one hundred seventeen thousand three hundred seventy-three) | |
new highest: 60 (121373 or one hundred twenty-one thousand three hundred seventy-three) | |
new highest: 61 (123323 or one hundred twenty-three thousand three hundred twenty-three) | |
new highest: 62 (123373 or one hundred twenty-three thousand three hundred seventy-three) | |
new highest: 63 (173373 or one hundred seventy-three thousand three hundred seventy-three) | |
new highest: 64 (323373 or three hundred twenty-three thousand three hundred seventy-three) | |
new highest: 65 (373373 or three hundred seventy-three thousand three hundred seventy-three) | |
new highest: 66 (1103323 or one million one hundred three thousand three hundred twenty-three) | |
new highest: 67 (1103373 or one million one hundred three thousand three hundred seventy-three) | |
new highest: 68 (1111373 or one million one hundred eleven thousand three hundred seventy-three) | |
new highest: 69 (1113323 or one million one hundred thirteen thousand three hundred twenty-three) | |
new highest: 70 (1113373 or one million one hundred thirteen thousand three hundred seventy-three) | |
new highest: 71 (1117373 or one million one hundred seventeen thousand three hundred seventy-three) | |
new highest: 72 (1121373 or one million one hundred twenty-one thousand three hundred seventy-three) | |
new highest: 73 (1123323 or one million one hundred twenty-three thousand three hundred twenty-three) | |
new highest: 74 (1123373 or one million one hundred twenty-three thousand three hundred seventy-three) | |
new highest: 75 (1173373 or one million one hundred seventy-three thousand three hundred seventy-three) | |
new highest: 76 (1323373 or one million three hundred twenty-three thousand three hundred seventy-three) | |
new highest: 77 (1373373 or one million three hundred seventy-three thousand three hundred seventy-three) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment