最近研究輸出字符串,稍微總結一下,以后繼續補充:
????標題如下:
????The count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 111221, ...
????
1
is read off as
"one 1"
or
11
.
11
is read off as
"two 1s"
or
21
.
21
is read off as
"one 2
, then
one 1"
or
1211
.
????Given an integer n , generate the n th sequence.
????Note: The sequence of integers will be represented as a string.
????分析:題意是n=1時輸出字符串1;n=2時,數前次字符串中的數值個數,因為前次字符串有1個1,所以輸出11;n=3時,由于前次字符是11,有2個1,所以輸出21;n=4時,由于前次字符串是21,有1個2和1個1,所以輸出1211;順次類推。
????此題我沒有找到數學律規,且暫就用最簡略的法想做,關鍵是考核string的作操。
????碼代如下:
?string numbertostring(int & num)
??? {
??????? string tmp;
??????? if(num<=9)
??????? {
?????????? tmp.push_back(num + '0');
??????? }
??????? else
??????? {
??????????? vector<int> over10num;??????????????????????????????? ?
??????????? while(num>0)??????????????????????????????? ?
??????????? {??????????????????????????????????? ?
??????????????? over10num.push_back(num%10);
??????????????? num = num/10;??????????????????????????????? ?
??????????? }??????????????????????????????? ?
??????????? int len_num = over10num.size();??????????????????????????????? ?
??????????? for(int k=len_num-1;k>=0;--k)
??????????? {
??????????????? tmp.push_back(over10num[k] + '0');
??????????? }
??????? }
??????? return tmp;
??? }
??? string countAndSay(int n) {
??????? string s;
??????? if(n<=0)return s;
??????? s.push_back('1');
??????? int number=1;
??????? while(number!=n)
??????? {
??????????? string tmp;
??????????? int length = s.length();
??????????? for(int i=0;i<length;)
??????????? {
??????????????? int num=1,j=i+1;
??????????????? while(j<length&&s[j]==s[i])
??????????????? {
??????????????????? num++;
??????????????????? j++;
??????????????? }
??????????????? tmp+=numbertostring(num);
??????????????? tmp+=s[i];
??????????????? i=j;
??????????? }
??????????? number++;
??????????? s=tmp;
??????? }
??????? return s;
??? }
????
文章結束給大家分享下程序員的一些笑話語錄: 據說有一位軟件工程師,一位硬件工程師和一位項目經理同坐車參加研討會。不幸在從盤山公路下山時壞在半路上了。于是兩位工程師和一位經理就如何修車的問題展開了討論。
硬件工程師說:“我可以用隨身攜帶的瑞士軍刀把車壞的部分拆下來,找出原因,排除故障?!?
項目經理說:“根據經營管理學,應該召開會議,根據問題現狀寫出需求報告,制訂計劃,編寫日程安排,逐步逼近,alpha測試,beta1測試和beta2測試解決問題?!?
軟件工程說:“咱們還是應該把車推回山頂再開下來,看看問題是否重復發生?!?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
