MLoops15

 

Задача. Найдите закономерность и напишите программу, которая выводит аналогичную таблицу для любых чисел [latex]m>0[/latex] (количество столбцов) и [latex]n>0[/latex] (количество строк). При чем [latex]k<m[/latex]. Многоточие означает продолжение последовательности.

Тесты

[latex] m[/latex] [latex] n[/latex] [latex] k[/latex] Результат
25 4 8 1122334455667788112233445
8112233445566778811223344
8811223344556677881122334
7881122334455667788112233
8 9 3 11223311
31122331
33112233
23311223
22331122
12233112
11223311
31122331
33112233
4 4 3 1122
3112
3311
2331

Код

Код на ideone.com

Решение

Для решения данной задачи введем дополнительную переменную  [latex]l[/latex], которая будет накапливать в  себе количество напечатанных символов в строке. Каждое число в строке повторяется дважды, следовательно печатать будем число, равное  целой части [latex]\left( l\div 2 \right)[/latex].

Обратим внимание на начало каждой строки. В каждой следующей строке мы сдвигаем последовательность на одно число вправо. Тогда значение  переменной  [latex] l[/latex] на второй строке должно быть максимально возможным [latex]\left(k\cdot2 \right)[/latex] и уменьшаться на единицу при каждом переходе на следующую строку.

 

 

One thought on “MLoops15