-3
我試圖代碼,我已經信數組的東西,我想系統打印斯威夫特密碼破解
一個
b
Ç
d
...(不是印刷的一部分,只是爲了縮短顯示內容)
AA
AB
交流
交流
...
好
gooe(在該行的信件沒有空格,我這樣做是因爲堆棧溢出認識到這是不好的語法)
goof
我目前正在迅速做到這一點。 (我是從數組中拉出字母),所以簡而言之,這就好比一個系統蠻力如何破解密碼
我試圖代碼,我已經信數組的東西,我想系統打印斯威夫特密碼破解
一個
b
Ç
d
...(不是印刷的一部分,只是爲了縮短顯示內容)
AA
AB
交流
交流
...
好
gooe(在該行的信件沒有空格,我這樣做是因爲堆棧溢出認識到這是不好的語法)
goof
我目前正在迅速做到這一點。 (我是從數組中拉出字母),所以簡而言之,這就好比一個系統蠻力如何破解密碼
遍歷這樣的單詞很像增加一個基數26.您可以利用String(.., radix:)
初始化實現這一目標:
extension Character {
var unicodeScalarsValue: UInt32 {
return String(self).unicodeScalars.first!.value
}
}
func printWordSequence(numWords: Int) {
for i in 0..<numWords {
print(String(i, radix: 26).characters.map({
char -> String in
let a = char.unicodeScalarsValue
if a < 58 {
return String(UnicodeScalar(a + 49))
}
else {
return String(UnicodeScalar(a + 10))
}
}).joinWithSeparator(""))
}
}
printWordSequence(3000)
/*
a
b
c
...
elh
eli
elj */
凡Character
擴展是從獅子座Dabus答案採取線程「What's the simplest way to convert from a single character String to an ASCII value in Swift?」。
如果你寧願要保存在陣列的話(供稍後打印或使用),修改功能略高於爲:
func generateWordSequence(numWords: Int) -> [String] {
var myArr : [String] = []
for i in 0..<numWords {
myArr.append(String(i, radix: 26).characters.map({
char -> String in
let a = char.unicodeScalarsValue
if a < 58 {
return String(UnicodeScalar(a + 49))
}
else {
return String(UnicodeScalar(a + 10))
}
}).joinWithSeparator(""))
}
return myArr
}
var myWordSequence = generateWordSequence(3000)
myWordSequence.map { print($0) }
/* same as above ... */