これは部分的に数学に関連していますが、私は VB.NET でそれを行っているため (プログラマーは数学を知っていますが、数学者はプログラミングを知らない可能性があるため :))、ここでより迅速な答えが得られる可能性が高くなります。
画像を表形式で印刷しています。各ページには M 行と N 列があります。画像の数が 1 ページに収まりきらない場合は、次のページに移動します。ここでの問題は、画像のインデックス番号が与えられた場合、画像のゼロベースの行/列を与える最短の式は何ですか (それが該当するページ番号を知らない)?
しばらく時間を費やした後、私は次のことを思いつきましたが、いくつかのコーナーケースを処理しません (M
列のN
数、行の数、Index
1 ベース):
Dim R = (Index - Index Mod (M * N)) \ M - 1
Dim C = Index Mod M
注意: 印刷は最初に左から右に進み、次に次の行に進みます。