//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int m = Integer.parseInt(reader.readLine());
int n = Integer.parseInt(reader.readLine());
for (int s равно 0; s<m; s++) {
for (int c равно 1; c<n; c++)
System.out.print(8);
System.out.println(8);
}
ak
22 уровень
почему s = 0, a c = 1?
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Chingiz
17 февраля 2020, 10:44
В обоих случаях отсчет можно начинать с нуля и до числа n или m
s=0; s<m; s++
c=0; c<n; c++
в данном коде c выставляют на 1 (с=1) для того чтобы можно было переводить строку вторым System.out.println(8); , так как если поставить с на ноль (с=0), то одна 8 будет печататься лишней.
Если же второй System.out.println() задать с пустыми скобками, то можно выставлять с с нуля. (с=0)ю
0
ak
17 февраля 2020, 15:56
(( ничего не понял. То что если указать 0 то будет на одну 8 больше это понятно. Вопрос в чем логика?)
0
Chingiz
18 февраля 2020, 06:37
Вопрос в том, почему в одном случае с=0, а s =1?
В одном случае нам нужен полный счетчик, от нуля до х, во втором нам нужен счетчик от нуля до х минус один, как мы будем реализовать не имеет особого значения. Можем сделать от 1 до х, можем сделать от 0 до х-1, можем от 2 до х+1. Главное это количество повторов.
Почему во втором случае нам нужен счетчик от 1 до х? Так как для перевода строки командой println мы используем один проход счетчика. Если мы дадим команду перевода строки с пустым значением, то не будет необходимости сокращать счетчик на еденицу.
Первый print без перевода строки, второй printLN с переводом строки, во втором съедается одна еденица.
0