Задача
Найти закономерность и написать программу, которая выводит аналогичную таблицу для любых чисел (количество столбцов) и (количество строк).
Замечание 1. В некоторых задачах появляется дополнительный параметр .
1 2 3 4 5 6 7 8 9 10 11 12 13 |
+++++++++++++++++++++++++++++++ +....^....+....^....+....^....+ +....|....+....|....+....|....+ +<-- k -->+<-- k -->+<-- k -->+ +....|....+....|....+....|....+ +....v....+....v....+....v....+ +++++++++++++++++++++++++++++++ +....^....+....^....+....^....+ +....|....+....|....+....|....+ +<-- k -->+<-- k -->+<-- k -->+ +....|....+....|....+....|....+ +....v....+....v....+....v....+ +++++++++++++++++++++++++++++++ |
Тесты
Входные данные
m | n | k |
13 | 31 | 9 |
Выходные данные
1 2 3 4 5 6 7 8 9 10 11 12 13 |
+++++++++++++++++++++++++++++++ +.........+.........+.........+ +.........+.........+.........+ +.........+.........+.........+ +.........+.........+.........+ +.........+.........+.........+ +++++++++++++++++++++++++++++++ +.........+.........+.........+ +.........+.........+.........+ +.........+.........+.........+ +.........+.........+.........+ +.........+.........+.........+ +++++++++++++++++++++++++++++++ |
Входные данные
m | n | k |
5 | 8 | 4 |
Выходные данные
1 2 3 4 5 |
++++++++ +....+.. +....+.. +....+.. +....+.. |
Входные данные
m | n | k |
20 | 20 | 3 |
Выходные данные
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
++++++++++++++++++++ +...+...+...+...+... +...+...+...+...+... +...+...+...+...+... +...+...+...+...+... +...+...+...+...+... ++++++++++++++++++++ +...+...+...+...+... +...+...+...+...+... +...+...+...+...+... +...+...+...+...+... +...+...+...+...+... ++++++++++++++++++++ +...+...+...+...+... +...+...+...+...+... +...+...+...+...+... +...+...+...+...+... +...+...+...+...+... ++++++++++++++++++++ +...+...+...+...+... |
Алгоритм
Программа выполняется с помощью двух циклов. Первый цикл отвечает за строки, второй за столбцы. Метод заключается в том, чтобы узнать, когда мы записываем именно ‘+’, а уже в остальные места записываем ‘.’. Для начала проверяем делится ли номер строки, уменьшенный на 1, нацело на 6. Если да, то записываем +. Далее проверяем, делится ли номер столбца, уменьшенный на 1, на число , где — вводимый параметр. Во всех остальных случаях пишем ‘.’.
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import java.util.*; import java.lang.*; import java.io.*; import static java.lang.Math.*; class Ideone { public static void main (String[] args){ Scanner sc = new Scanner(System.in); int m,n,k; m = sc.nextInt(); n = sc.nextInt(); k = sc.nextInt(); for (int i = 0; i < m; i++){ for (int j = 0; j < n; j++){ if (i%6 == 0) System.out.print("+"); else if (j%(k+1) == 0) System.out.print("+"); else System.out.print("."); } System.out.println(" "); } } } |