Я изо всех сил пытаюсь построить алгоритм, который печатал бы столь необходимый образец.
Код следующий:
public static void printPatternH(int size)
{
for (int row = 1; row <= size; row++)
{
for (int col = 1; col <= 2*size; col++)
{
if (col > size + row - 1) {
continue;
}
if (col <= size) {
System.out.print((row + col >= size + 1 ? (row + col)%size : " ") + " ");
}
else {
System.out.print((row + col >= size + 1 ? (row + size)%col : " ") + " ");
}
}
System.out.println();
}
}
Результат:
Я понимаю, что если size
равно 9, последнее число в середине будет равно 0 как (row + size)%col = 0
, однако я не мог найти способ изменить его без изменения остальных значений.