[過去ログ] プログラミングのお題スレ Part20 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
703
(7): 2022/08/17(水)15:10 ID:2ZT38iyw(2/2) AAS
途中送信してしまった

お題:ナンプレ(数独)における「縦9マス(列)」「横9マス(行)」「3x3マス」のマスをそれぞれ表示する方法を示してください
※便宜的に、ナンプレのマスには左上から右へ、右下に向かい0〜80までの数値を入れます。

0 1 2 3 4 5 6 7 8
...
...............80

例えば左から1列目の9マスは
[0 9 18 27 36 45 54 63 72]
となります。
等差を利用して数字だけを表示するものは不可です。
省1
704
(1): 2022/08/17(水)21:47 ID:GkJOOerG(1) AAS
>>703 c
外部リンク:ideone.com
706: 2022/08/18(木)02:15 ID:KCyiWPRI(1) AAS
>>703
perl5
外部リンク:paiza.io
709
(1): 2022/08/18(木)10:20 ID:KriVCD9m(2/3) AAS
>>703 Ruby
PLACEHOLDER = [*0..80]

field = 9.times.reduce([]) do |s, y|
s << 9.times.map do |x|
PLACEHOLDER[9 * y + x]
end
end

puts field.map{|r| r.map{'%02d' % _1}.join}

# =>
000102030405060708
省8
710: 2022/08/18(木)10:42 ID:KriVCD9m(3/3) AAS
>>703 お題をよく読んでいなかった >>709の続き
row = -> (n, field) {field[n]}
column = -> (n, field) {field.map{_1[n]}}
block = -> (n, field) {9.times.map{n * 3 + n / 3 * 18 + _1 + _1 / 3 * 6}.map{field.flatten[_1]}}

puts row[7, field].join(?,)
# => 63,64,65,66,67,68,69,70,71

puts column[7, field].join($/)
# =>
7
16
省12
711: 704 2022/08/18(木)23:38 ID:YBxy/c4L(1) AAS
>>703 c
外部リンク:ideone.com
>>704から若干の整理
718: 2022/08/20(土)22:24 ID:5JSGWnVi(1) AAS
>>703ってこれじゃだめなのかな
7行で書ける
外部リンク:ideone.com
728: 2022/08/21(日)19:50 ID:ecIOs+Jg(3/4) AAS
>>703
C#
外部リンク:paiza.io
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.326s*