#41888: ez想法


dvbdarcyvolleyball@gmail.com (kuhaku1027)

學校 : 新北市私立南山高級中學
編號 : 266888
來源 : [203.71.175.118]
最後登入時間 :
2024-12-22 12:34:18
d353. 幼稚數列 | From: [36.229.110.59] | 發表日期 : 2024-09-07 18:10

數字的規則唸出來就知道了

S= 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了

 
#41889: Re: ez想法


dvbdarcyvolleyball@gmail.com (kuhaku1027)

學校 : 新北市私立南山高級中學
編號 : 266888
來源 : [203.71.175.118]
最後登入時間 :
2024-12-22 12:34:18
d353. 幼稚數列 | From: [36.229.110.59] | 發表日期 : 2024-09-07 18:12

數字的規則唸出來就知道了

S= 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";
  }
} // 借放一下程式碼



 
ZeroJudge Forum