# encoding: utf-8 def test( n, c ) m = n % c; q = (n - m) / c; printf "配列サイズ=%d, 列数=%d, q=%d, m=%d\n", n, c, q, m; for i in (0 ... c) b = i * q + (i < m ? i : m ); e = b + q - 1 + (i < m ? 1 : 0); p (b..e).to_a; end end test( 10, 3 ); test( 15, 3 ); test( 10, 4 ); test( 15, 4 ); test( 2, 3 );
Standard input is empty
配列サイズ=10, 列数=3, q=3, m=1 [0, 1, 2, 3] [4, 5, 6] [7, 8, 9] 配列サイズ=15, 列数=3, q=5, m=0 [0, 1, 2, 3, 4] [5, 6, 7, 8, 9] [10, 11, 12, 13, 14] 配列サイズ=10, 列数=4, q=2, m=2 [0, 1, 2] [3, 4, 5] [6, 7] [8, 9] 配列サイズ=15, 列数=4, q=3, m=3 [0, 1, 2, 3] [4, 5, 6, 7] [8, 9, 10, 11] [12, 13, 14] 配列サイズ=2, 列数=3, q=0, m=2 [0] [1] []