1. 1
2. 1中由于有一个1,故2表示为11
3.2中由于有二个1,故3表示为21
4.3中由于有一个2,一个1,故4表示为1211
5.4中由于有一个1,一个2,二个1,故5表示为111221
6.同理6表示为312211
7.同理7表示为13112221
在上述规律的基础上,循环计算可得N的表示法:
class Solution {
public:
string countAndSay(int n) {
string res="";
string s="1";
if(n==1)
return s;
for(int i=1;i<n;i++)
{
int count=1;
string temp="";
for(int j=0;j<s.length();j++)
{
while(s[j]==s[j+1])
{
j++;
count++;
}
temp=temp+(char)(count+'0')+s[j];
count=1;
}
res=temp;
s=temp;
}
return res;
}
};
本文介绍了一个有趣的数列生成算法,通过C++代码实现递归序列的生成过程。该序列从1开始,每一步根据上一步的数字组成进行计数并描述,形成了独特的数字模式。
635

被折叠的 条评论
为什么被折叠?



