程序设计的智力推测:1 11 21 1211 111221 ____

1577阅读 0评论2008-10-13 UGxxoVr
分类:

题目很简单:
1 11 21 1211 111221 ____
下一个数是什么?

这个题目是贴的,偶可是猜不出来。不过看了答案就不难理解了,设计的还真绝!建议大家背下来以备不时之需!

//author : *.*.zhou
#include 
#include 
#include 
using namespace std;

int main( void )
{
    string s = "1";
    cout << s << endl;
    for( int N=0; N<10; ++N ) // 显示10个
    {
        ostringstream os;
        for( size_t i=0; i<s.length(); ++i )
        {
            size_t n = 1;
            char c = s[i];
            for( ; i<s.length() && s[i+1]==c; ++i ) ++n;
            os << n << c;
        }
        s = os.str();
        cout << s << endl;
    }

    return 0;
}

程序结果是:

1
11
21
1211
111221
312211
13112221
1113213211
31131211131221
13211311123113112211
11131221133112132113212221


--------------------next---------------------

上一篇:算法:用1-9数字做不重复填充:_ _ _ _X_=_ _ _ _
下一篇:算法:猫捉耗子(报数)问题