Сделать елку из звездочек
*
* *** * *** ***** * *** ***** ******* и т.д. чтобы можно самому было с клавы вводить количество таких ярусов ток они у меня здесь сдвинулись к левому боку |
Lvbnhbq,
:cray: <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> *{ text-align: center; } </style> </head> <body> <script> function fn(a) { 0 < a && fn(a - 1); for (var b = 0; a; b++) { b % 2 && (--a, document.write("*".repeat(b) + "<br>")); } } fn(5) </script> </body> </html> |
Цитата:
можете объяснить алгоритм работы |
Lvbnhbq,
function fn(a) { 0 < a && fn(a - 1); // пока а больше нуля запускать функцию fn, for (var b = 0; a; b++) { //далее пока a больше нуля, в цикле увеличивать b, b % 2 && (--a, document.write("*".repeat(b) + "<br>")); //если b нечётное,уменьшать a и выводить "*" в количестое b } } |
рони,
Чётенькая елочка :) |
Lvbnhbq,
... может так проще будет <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> *{ text-align: center; } </style> </head> <body> <script> function fn(a) { for (var k = 0; k <= a; k++) { for (var b = 0, j = k; j; b++) { if (b % 2) { --j; document.write("*".repeat(b) + "<br>") }; } } } fn(5) </script> </body> </html> |
j0hnik,
:) наверняка на форуме есть эта "ёлочка", только вместо repeat, там будет как-то так document.write(Array(b+1).join("*") + "<br>") |
рони,
под новый год я красивые елки видел в какой то темке. |
:) if лишний
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> *{ text-align: center; } </style> </head> <body> <script> function fn(a) { 0 < a && fn(a - 1); for (var b = 1; a; b += 2) { --a; document.write("*".repeat(b) + "<br>"); } } fn(5) </script> </body> </html> |
Часовой пояс GMT +3, время: 08:17. |