JSK 23 計數和數數 數列

2021-08-28 03:35:16 字數 1197 閱讀 9719

計數和數數

「伯爵說」序列如下:1,11,21,1211,111221,…。其1讀作one 1或者1111讀作two 1s或者2121讀作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...