日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

“蓝桥杯”基础练习:01字串

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “蓝桥杯”基础练习:01字串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述

對于長度為5位的一個01串,每一位都可能是0或1,一共有32種可能。它們的前幾個是:

00000

00001

00010

00011

00100

請按從小到大的順序輸出這32種01串。

輸入格式 本試題沒有輸入。 輸出格式 輸出32行,按從小到大的順序每行一個長度為5的01串。 樣例輸出 00000
00001
00010
00011
<以下部分省略>


心得:

因為要從00000輸出到11111,一共32行5列,一開始想著就開一個這么大的二維數組吧,挨個的更新每行元素就行唄,結果沒我想的這么簡單,因為下一行總是和前一行息息相關,而且在下一行沒處理之前,它必須和上一行的數相同,要經常更新行元素。 比如一開始賦值全部為00000,當加一以后第二行變為00001,可是這時候第三行元素還仍然是00000呢,要在00001的基礎上加1,它必須和上一行(第二行)元素相等才可以。后來一想,不用這么麻煩,既然需要更新,那就用一個s[5] 的簡單數組來自己更新不就得了,加上31次,就這樣。

代碼:

#include <iostream> #include <string.h> using namespace std; int two[6];int main() {memset(two,0,sizeof(two));cout<<"00000"<<endl;for(int i=1;i<=31;i++){two[5]++;if(two[5]==2){two[4]++;two[5]=0;}if(two[4]==2){two[3]++;two[4]=0;}if(two[3]==2){two[2]++;two[3]=0;}if(two[2]==2){two[1]++;two[2]=0;}for(int m=1;m<=5;m++)cout<<two[m];cout<<endl;}return 0; }

轉載于:https://www.cnblogs.com/sr1993/p/3697798.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的“蓝桥杯”基础练习:01字串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。