博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
未来的一个要参加蓝桥杯,在这里记录下笔记
阅读量:6968 次
发布时间:2019-06-27

本文共 1981 字,大约阅读时间需要 6 分钟。

基础练习 01字串  

问题描述

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

00000

00001

00010

00011

00100

请按从小到大的顺序输出这32种01串。

当做完做到这道题的时候看晚上的答案时,惊到了没有找到我这种类似的解法。

#include <cstdio>

#include <iostream>
#include <bitset>
using namespace std;

void Bin(int n){

  bitset<5> bitset2(n);
  cout<< bitset2 <<endl;
}
int main (){
  for (int i=0;i<32;i++){
  Bin(i);
  }
}

 

一:暴力(这个可以有)

#include <iostream>
using namespace std;
int main()
{
cout<<"00000"<<endl;
cout<<"00001"<<endl;
cout<<"00010"<<endl;
cout<<"00011"<<endl;
cout<<"00100"<<endl;
cout<<"00101"<<endl;
cout<<"00110"<<endl;
cout<<"00111"<<endl;
cout<<"01000"<<endl;
cout<<"01001"<<endl;
cout<<"01010"<<endl;
cout<<"01011"<<endl;
cout<<"01100"<<endl;
cout<<"01101"<<endl;
cout<<"01110"<<endl;
cout<<"01111"<<endl;
cout<<"10000"<<endl;
cout<<"10001"<<endl;
cout<<"10010"<<endl;
cout<<"10011"<<endl;
cout<<"10100"<<endl;
cout<<"10101"<<endl;
cout<<"10110"<<endl;
cout<<"10111"<<endl;
cout<<"11000"<<endl;
cout<<"11001"<<endl;
cout<<"11010"<<endl;
cout<<"11011"<<endl;
cout<<"11100"<<endl;
cout<<"11101"<<endl;
cout<<"11110"<<endl;
cout<<"11111"<<endl;
return 0;
}
// 方法二:五层循环法
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d,e;
for(a=0;a<2;++a)
for(b=0;b<2;++b)
for(c=0;c<2;++c)
for(d=0;d<2;++d)
for(e=0;e<2;++e)
cout<<a<<b<<c<<d<<e<<endl;
return 0;
}
// 方法三:模拟二进制运算

当时有想过模拟二进制运算

#include <iostream>
#include <string>
using namespace std;
int main()
{
int i,j;
string str="00000";
for(i=0;i<32;++i)
{
cout<<str<<endl;
str[4]+=1;
for(j=4;j>=0;--j)
{
if(str[j]=='2')
{
str[j-1]+=1;
str[j]='0';
}
}
}
return 0;
}
// 方法四:十进制转换二进制法
#include <iostream>
using namespace std;
int main()
{
for(int i=0;i<32;i++){
cout<<i%32/16<<i%16/8<<i%8/4<<i%4/2<<i%2<<endl;
}
return 0;
}
五:

#include <iostream>

using namespace std;
int main(){
for(int i=0;i<=31;i++)
{
int a[5]={0};
int num=i;
int z=0;
while(num!=0)
{
a[z]=num%2;
z++;
num/=2;
}
for(int j=4;j>=0;j--)
cout<<a[j];
cout<<endl;
}
return 0;
}

转载于:https://www.cnblogs.com/wszme/p/10444223.html

你可能感兴趣的文章
【收藏】8段JQuery处理表单的代码片段,很实用
查看>>
利用 Css 制作精美的卡片UI
查看>>
Jmeter使用陷阱
查看>>
夏日葵电商:微信商城系统开发,分享产品运营几大细节
查看>>
ios证书--快速创建iOS证书及描述文件工具
查看>>
web前端开发前的环境搭建
查看>>
jQuery源码分析之noConflict()
查看>>
7步学会在Windows下上架iOS APP流程
查看>>
PHP使用CURL详解
查看>>
nodejs源码中的require问题
查看>>
带标签的长标题省略展示的实现
查看>>
区块链技术精华:四十种智能合约支持平台(四)
查看>>
DevOps是90%的改变和10%的技术
查看>>
Yelp研发实践:使用服务拆分单块应用
查看>>
WordPress.com使用JavaScript替换掉PHP
查看>>
代码自解释不是不写注释的理由
查看>>
Racket 6.11提供了稳定的细化类型和依赖函数特性
查看>>
Visual Studio 15改进C++工程加载
查看>>
使用 Kanban精益创新
查看>>
Deis发布1.4版本,支持Microsoft Azure
查看>>