計數和數數
「伯爵說」序列如下:1,11,21,1211,111221,…。其1
讀作one 1
或者11
。11
讀作two 1s
或者21
。21
讀作one 2, one 1
或者1211
。
多組輸入,讀到檔案結束。每組輸入給定乙個整數 n(1≤n≤30)。
輸出第 n 個序列。注意,整數序列以字串的形式表示。
樣例輸入
6
樣例輸出
312211
相信你已經看懂了題目,如果沒看懂,小提示下,
其實類似於求「斐波那契」數列的第 n 項哦~
問題描述:(略)
問題分析:
這個實際上就是look and say數列。該數列在oeis中的編號是a005150。
之前寫了乙個考慮多了,邏輯有點複雜,參見參考鏈結。因為連續數字的數量不會超過一位數字,**可以寫得更簡單。
這個題解是按打表的方式來寫的,相對會通用一些。
程式說明:
用c語言程式設計,數列可以儲存在二維字元陣列中;用c++語言程式設計的話,可以儲存在字串陣列中。
符號常量m的值取多少,需要實現算一下才能知道。它關乎最長的字串有多長。
參考鏈結:poj3438 zoj2886 uvalive3822 look and say【數列+水題】
題記:數列問題是常見的問題。
ac的c語言程式如下:
/* jsk-23 計數和數數 */
#include #include //#define debug
#define n 30
#define m 5000
char a[n + 1][m];
void init()
}a[i][k++] = '0' + say;
a[i][k++] = look;
a[i][k] = '\0';
}}int main()
計數和數數
伯爵說 序列如下 1,11,21,1211,111221,ldots1,11,21,1211,111221,其1讀作one 1或者11。11讀作two 1s或者21。21讀作one 2,one 1或者1211。多組輸入,讀到檔案結束。每組輸入給定乙個整數 n 1 leq n leq 30 n 1 n...
計蒜客系列 挑戰難題23 計數和數數
伯爵說 序列如下 1,11,21,1211,111221,1 讀作 one 1 或者 11。11 讀作 two 1s 或者21。21 讀作 one 2,one 1 或者 1211。格式 多組輸入,讀到檔案結束。每組輸入給定乙個整數n,輸出第n個序列。1 n 30 注意 整數序列以字串的形式表示。ps...
計蒜客題目 計數和數數
伯爵說 序列如下 1,11,21,1211,111221,ldots1,11,2 1,12 11,1 1122 1,其1讀作one 1或者11。11讀作two 1s或者21。21讀作one 2,one 1或者1211。多組輸入,讀到檔案結束。每組輸入給定乙個整數 n 1 leq n leq 30 n...