获取x布尔值的所有可能组合(球拍,方案) [英] Getting all possible combinations of x booleans (Racket, Scheme)

查看:126
本文介绍了获取x布尔值的所有可能组合(球拍,方案)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有问题.如何在球拍中获取x布尔值的所有可能组合? (语言水平较低)

i have a problem. How do I get all possible combinations of x booleans in Racket? (on a low language level)

我需要这样的东西:

对于x = 1 (列表 (列表为假) (列表为真))

For x=1 (list (list false) (list true))

对于x = 2 (列表 (列出假假) (列表为假,真) (列出的是假的) (列表为true))

For x=2 (list (list false false) (list false true) (list true false) (list true true))

对于x = 3 (列表 (列表为假,假为假) (列表为假,假为真) (列表为false,为true,为false) (列表为false true true) (列出的是真假假) (列出的是的,是的,是的,是的) (列出的是真的是假的) (列表为true true true))

For x=3 (list (list false false false) (list false false true) (list false true false) (list false true true) (list true false false) (list true false true) (list true true false) (list true true true))

我不知道如何在球拍中做到这一点.

I have no idea how to do this in Racket.

谢谢!

推荐答案

这里是将数字转换为布尔值列表的一种方法. 要生成所有组合,请按照说明在循环中使用它.

Here is one way to convert a number to a list of booleans. To generate all combinations, use it in a loop as you described.

  (map (λ (x) (eqv? x #\1)) 
       (string->list (number->string 12345 2)))

用任何数字替换12345.

Replace 12345 with any number.

这篇关于获取x布尔值的所有可能组合(球拍,方案)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆