Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let treeHigh = +parseInt(prompt("how high is tree must be?"));
- let rows;
- let stars;
- let spaces;
- //console.put(parseInt(treeHigh/2));
- for (rows = 0; rows < treeHigh-1; rows++) {
- for (spaces = treeHigh-2; spaces >= rows; spaces--) {
- console.put("."); // можно заменить на пробельчики: console.put(" ")
- }
- for (stars = 0; stars <= rows; stars++) { // два цикла вывода звездочек не сложно объединить в один. первый row + 1 раз
- console.put("*"); // второй rows раз => (stars <= 2 * rows) или (ведь <= на 1 раз больше чем < )
- } // stars < 2 * rows + 1 (на нулевой строке 0 * 2 + 1 = 1, на первой 1 * 2 + 1 = 3, на второй 2 * 2 + 1 = 5 и т.д
- for (stars = 1; stars <= rows; stars++) { // т.е. от одного из циклов можно легко избавиться
- console.put("*");
- }
- console.put("\n"); // можно заменить на console.log() - просто перевести строку, ничего не выводя.
- }
- for (rows = treeHigh-2; rows < treeHigh-1; rows++) { // для пенечка достаточно одного цикла - вывести пробельчиков в нем, а после него поставить звездочку. Ваш for (rows = treeHigh-2; rows < treeHigh-1; rows++) = (x-2, x-1,x++) - это всегда один раз, можно этот цикл "сократить" вовсе.
- for (spaces = 0; spaces < treeHigh-1; spaces++) {
- console.put(".");
- }console.put("*")
- }
- // хороший стиль, именования достаточно информативные, все тесты проходит, желательно немного упростить - избавиться от двух
- // лишних циклов.
- // Красивого кода!)
- второй вариант решения через половину широчайшей (нижней) ветки
- /*вивести на екран ялинку такого розміру, який вказує користувач
- *
- ***
- ***** - если считать высоту 3 (без пенька), то широкая ветвь = h * 2 - 1 , а (широкая ветвь - 1) / 2 именно столько пробелов выводим в первой строке, можно заметить , или вывести, что это число сокращается до (h * 2 - 1 - 1) / 2 = h - 1
- * */ // и уменьшаем их на 1 в каждой последующей, ну а звездочек от 1 и увеличиваем на 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement