[算法] 列出 5 个开关的所有开关情况?

2019-04-28 11:17:10 +08:00
 YYSWDD

5 个开关相当于 5 个二进制位。

列出 5 个二进制位的所有排列情况。

类似:

0,0,0,0,0 ;

0,0,0,0,1 ;

0,0,0,1,0 ;

0,0,0,1,1 ;

0,0,1,0,0 ;

0,0,1,0,1 ;

······

2960 次点击
所在节点    问与答
28 条回复
Cbdy
2019-04-29 05:39:26 +08:00
11111B 种
iceheart
2019-04-29 06:20:45 +08:00
for (ini i = 0; i < 32; i++) {
printf("%d,%d,%d,%d,%d\n",
i / 16,
(i/8)&1,
(i/4)&1,
(i/2)&1,
i&1);
}
loading
2019-04-29 07:04:09 +08:00
楼主希望的是获得直译型的价值 5 毛的代码,而 @binux 给出一个价值 5 亿的代码。
liprais
2019-04-29 07:15:46 +08:00
楼上所有答案的作者都没有 @binux 对这个问题理解的深刻
JmmBite
2019-04-29 08:01:17 +08:00
i=32;
while(i--){
console.log((i).toString(2));
}
Variazioni
2019-04-29 08:03:11 +08:00
@binux #1 qiandao.today 的作者?膜拜大神。。
versionzhang
2019-04-29 08:51:50 +08:00
这个不是用高中排列组合的知识就搞定了么。 。2 的 n 次方,每个开关有两种情况,总共有 n 位
versionzhang
2019-04-29 09:01:10 +08:00
@versionzhang 列出来的话就是从 0 到 2 的 n 次方-1 的二进制表示。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/559411

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX