數字的規則唸出來就知道了
S0 = 1
S1 = 11
S2 = 21
S3 = 1211
S4 = 111221
S5 = 312211
每個都是前一項的唸法:
S1 = 一個1
S2 = 二個1
S3 = 一個2 一個1
S4 = 一個1 一個2 二個1
S5 = 三個1 二個2 一個1
以此類推ouob //用to_string就ok了
數字的規則唸出來就知道了
S0 = 1
S1 = 11
S2 = 21
S3 = 1211
S4 = 111221
S5 = 312211每個都是前一項的唸法:
S1 = 一個1
S2 = 二個1
S3 = 一個2 一個1
S4 = 一個1 一個2 二個1
S5 = 三個1 二個2 一個1以此類推ouob //用to_string就ok了
#include <iostream>
using namespace std;
string cac(const string &s){
string result = "";
int count = 1;
for(int i = 1; i <= s.size();i++){
if(i < s.size() && s[i] == s[i-1]){
count++;
}
else{
result += to_string(count) + s[i-1];
count = 1;
}
}
return result;
}
int main() {
int a;
string s = "1";
string n[31];
n[0] = s;
for(int i = 1;i < 31;i++){
s = cac(s);
n[i] = s;
}
while(cin >> a){
cout << n[a] << "\n";
}
} // 借放一下程式碼