白駿::楽透<6603号>


>質問<


ドイツまたは{1,2,...,49}から6つの数字を選択します.
宝くじ番号を選択する最も有名な戦略は、49の数字の中からk(k>6)の数字を選択して集合Sを作成することである.
その数だけで番号を選ぶ.
例えば、k=8、S={1、2、3、5、8、13、21、34}の場合、この集合Sで選択可能な総数は28種類である.([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34])
集合Sとkが与えられると,すべての選択数を求めるプログラムを作成する.
ソース:https://www.acmicpc.net/problem/6603

>クリエイティブ<


入力
  • kおよびs
  • sリストから6個を繰り返し抽出する結果リスト(組合せ使用)
  • に保存する.
  • デュアルfor文出力結果リスト
  • を使用

    >コード<

    import itertools
    while True:
        datas = list(map(int,input().split()))
        if datas[0] == 0:
            break
        k=datas[0]
        s=datas[1:]   # s 리스트 생성
        result = list(itertools.combinations(s, 6))
        for i in result:
          for j in i:
            print(j, end=' ')
          print()
        print()

    >を参照<



    ソース:https://dojang.io/mod/page/view.php?id=2292

    ソース:https://yganalyst.github.io/etc/memo_18_itertools/

    > 📃🖋 <


    2 Dリストを1つのリストに出力する場合は、文を繰り返して出力する必要があります.最初はjoin(result)の使用中に実行時エラーが発生しました.joinは1次元リストのみを表示します!