求教算法, 求组合, 罗列出所有的组合

gclove
  • 1.4k

假如有 7个数

1, 2, 3, 4, 5, 6, 7

每3个数一组, 可以组成多少个组合

(123, 321, 213, 132, 231 ... 都认为是一个组合)

语言不限, 罗列出所有组合

回复
阅读 3.6k
6 个回答
baby神
  • 60
for i in itertools.combinations('123567', 3):
    print(''.join(i))
import itertools
for i in itertools.permutations('1234567',3):
    print(''.join(i))
<?php

$arr = [1, 2, 3, 4, 5, 6, 7];
$length = count($arr);
for ($i=0; $i < $length; $i++) { 
    if($arr[$i]>0){
        for ($j=0; $j < $length ; $j++) { 
            if($j!=$i){

                for ($n=0; $n < $length; $n++) { 
                    if($n!=$i&&$n!=$j){
                        $_arr[] = $arr[$i].$arr[$j].$arr[$n];
                        
                    }
                }
                
            }
        }

    }
}
echo implode(',', $_arr);
die();
zhayes
  • 1.2k
def loop(arr):
    sum = []
    for item in arr:
        for o in arr:
            if(item == o or item>o ): continue
            for it in arr:
                if ( it == o or o>it or item==it or item>it): continue
                sum.append( str(item) + str(o) + str(it) )
    return sum

c = loop(arr)
print(c)
Bishop_Yang
  • 29
for i in itertools.combinations('1234567', 3):
    print(''.join(i))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏