Сделать елку из звездочек
*
* *** * *** ***** * *** ***** ******* и т.д. чтобы можно самому было с клавы вводить количество таких ярусов ток они у меня здесь сдвинулись к левому боку |
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, время: 17:19. |