Перебор комбинаций 0 и 1 в битах

Задача: вычислить все возможные комбинации 0 и 1 в битовом числе.

Решение: применим комбинаторику. Реализовано аж в двух языках 😉

Pyhon:

n=int(input("n="))
res=[]
for i in range(2**n):
    s=""
    for j in range(n):
        s=str(i%2)+s
        i=i//2
    res.append(s)
print(res)

PHP:

$n=5;
$res=[];
for ($i = 1; $i <= 2**$n; $i++) {
    $s="";    
    $z=$i;
    for ($j = 1; $j <= $n; $j++) {
      $s=(string)($z%2).$s;      
      $z=intdiv($z,2);      
    };  
    $res[]=$s;
}
var_dump($res);