首页 > 其他 > 详细

基础试题-01子串

时间:2021-02-28 10:46:38      阅读:32      评论:0      收藏:0      [点我收藏+]

/*对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:

00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。*/

想到了循环的办法,还想到了模仿二进制加法但是并没有实现出来。找到了五种办法的博客 https://blog.csdn.net/u012110719/article/details/41870877

最基本(循环)-->

 1 #include<iostream> 
 2 using namespace std;
 3 int main(){
 4     int a,b,c,d,e;
 5     for(a=0;a<2;a++)
 6         for(b=0;b<2;b++)
 7             for(c=0;c<2;c++)
 8                 for(d=0;d<2;d++)
 9                     for(e=0;e<2;e++)
10                         cout<<a<<b<<c<<d<<e<<endl;
11     return 0; 
12 }

十进制转换成二进制-->

1 #include<iostream> 
2 using namespace std;
3 int main(){
4     int a,b,c,d,e;
5     for(a=0;a<32;a++){
6         cout<<a%32/16<<a%16/8<<a%8/4<<a%4/2<<a%2/1<<endl;//除号代表十进制有没有大于这个数 类似于8421,有的话这个位上就是1;
                                   //取余代表循环次数,由于是从小到大的,每个位上都是有0有1,所以是除号的两倍
7 } 8 return 0; 9 }

 

基础试题-01子串

原文:https://www.cnblogs.com/bhjohnny/p/14458167.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!