プログラムの目的は、値の2Dグリッドを作成することです。ユーザーからの入力として、グリッドに存在する要素の総数(たとえば、n)を取得します。n個の値の2Dグリッドを作成する必要があります(これらの値は0から連続しています。つまり、0、1、2、3、4、5、6..n)。
For n=9,
0 1 2
3 4 5
6 7 8
For n=6,
Either,
0 1 2
3 4 5
or
0 1
2 3
4 5
以下は私が今まで管理してきたものです:
int rowlen = (sqrt(n))
int collen = (n/rowlen)
int no = 0;
for (int i = 0; i < rowlen-1) {
for (int j = 0; j < collen-1) {
System.out.print(no+"\t")
no++;
}
System.out.println()
}
上記のコードは、完全な平方数と、「n」が偶数である他のいくつかの場合に機能します。ただし、「n」が奇数で、n = 10など、「n」の他のいくつかの偶数値の場合は失敗します。
グリッドを構築するためのより良い方法を提案できますか?