BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int m = Integer.parseInt(reader.readLine());
int n = Integer.parseInt(reader.readLine());// ввели два числа с клавиатуры.
for (int i = 1; i <= m; i++){
System.out.print(8);
for (int c = 1; c < n; c++){
System.out.print(8);
}
System.out.println();
}
}
Илья
10 уровень
НАписал сам, НО как работает не до конца понял)))
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
solwo Full Stack Developer в Корус
12 августа 2018, 14:39решение
"В компьютерных науках есть две сложности: инвалидация кэша, именование и ошибка на единицу."
В этой строке цикл выполняется от 1 до n-1:
for (int c = 1; c < n; c++){
Если ввели число 10, то цикл прокрутится только 9 раз: 1 2 3 4 5 6 7 8 9. Когда c станет 10, условие c < 10 не сработает и цикл завершится.
Чтобы "подогнать" решение под ответ, вы перед циклом выводите "лишнюю" восьмерку
System.out.print(8);
К сожалению, эта "лишняя" восьмерка даст вам ошибку, если вы для n введёте 0. Программа в каждой строке нарисует по одной восьмерке, хотя должна была бы рисовать ноль восьмерок.
Если условие завершения цикла заменить на <=, то "лишний" System.out.print(8); не понадобится.
for (int c = 1; c <= n; c++){
+4
Илья
12 августа 2018, 19:56
спасибо)) хоть в чем то прояснили)
0