01字串 十进制转二进制

问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>

这道题有两个解题思路,第一个是用数组,a【0】~a【4】,进行32轮加法处理,每当a【i】中的数字大于2,就让a【i-1】+1.,加到a【4】输出一次。
林一个就是用10进制转2进制de计算方法将十进制的数字不停的除2再取余2,余数就是二进制当前位置的数字。
例如5
6%2=0
6/2%2=1
6/2/2%2=1
则6的二进制数为110.
由以上思路得到的代码如下:

#include<iostream>
main(){
	int i;
	for(i=0;i<32;i++){
		printf("%d%d%d%d%d\n",i/2/2/2/2%2,i/2/2/2%2,i/2/2%2,i/2%2,i%2);
	}
} 

今天的一千字够了(*^▽^*),溜啦溜啦─=≡Σ(((つ•̀ω•́)つ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值