alist = [q+1 if i < r else q for i in range(s)]例えば、274を12で分割すると次のようになる [23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22] total: 274
n個をs個のグループに分割する。ただし、割り切れなくなる時は大体等しくする
分割についてのメモ。こういうのをなんていうか知らない。
n個をs個に分割すると、
q = n // s 個に分割できる(小数点以下切り捨て)
r = n % s 個余る。(0 <= r < s になる)
ここで余りrはq個ずつのグループs個のそれぞれに分配する。
n = s*q + rであり、0 <= r < s であるので、r個をそれぞれのグループに1つずつ分配すればいい。
Python3で言えばこんな感じのグループの数ごとのリストができる
コメント