Как вывести елочку в консоли на golang?
Используя вложенные циклы необходимо вывести елочку симметричную. Задача стоит следующая: Вывод ёлочки.
Введите высоту ёлочки:
5
*
***
*****
*******
*********
Помогите, пожалуйста, второй день не могу понять. Желательно с детальным объяснением. Я только учусь
Ответы (1 шт):
Автор решения: aksioto
→ Ссылка
Если смотреть на требуемый результат с конца, то можно заметить, что количество пробелов перед выводимой строкой изменяется на 1. Поэтому для простоты можно использовать обратный цикл.
Количество * при итерации цикла меняется на 2 - 1 3 5 .. n+2
Для формирования строки из повторяющихся символов нам понадобится функция strings.Repeat.
func printTree(height int) {
chars := 1 // начальное кол-во * в строке
for i := height; i > 0; i-- {
line := strings.Repeat("*", chars) // формируем строку состоящую из *
indent := strings.Repeat(" ", i) // добавляем отступы
fmt.Printf("%s%s\n", indent, line) // выводим строку в консоль
chars += 2 // увеличиваем кол-во звёздочек на 2
}
}
Результат:
*
***
*****
*******
*********