Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.04.2018, 19:43
Новичок на форуме
Отправить личное сообщение для Lvbnhbq Посмотреть профиль Найти все сообщения от Lvbnhbq
 
Регистрация: 19.04.2018
Сообщений: 2

Сделать елку из звездочек
*
*
***
*
***
*****
*
***
*****
*******
и т.д. чтобы можно самому было с клавы вводить количество таких ярусов ток они у меня здесь сдвинулись к левому боку
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2018, 21:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

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) {
  0 < a && fn(a - 1);
  for (var b = 0; a; b++) {
    b % 2 && (--a, document.write("*".repeat(b) + "<br>"));
  }
}
fn(5)
</script>

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2018, 22:38
Новичок на форуме
Отправить личное сообщение для Lvbnhbq Посмотреть профиль Найти все сообщения от Lvbnhbq
 
Регистрация: 19.04.2018
Сообщений: 2

Сообщение от рони Посмотреть сообщение
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) {
  0 < a && fn(a - 1);
  for (var b = 0; a; b++) {
    b % 2 && (--a, document.write("*".repeat(b) + "<br>"));
  }
}
fn(5)
</script>

</body>
</html>
рони,
можете объяснить алгоритм работы
Ответить с цитированием
  #4 (permalink)  
Старый 19.04.2018, 23:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

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
  }
}
Ответить с цитированием
  #5 (permalink)  
Старый 19.04.2018, 23:35
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

рони,
Чётенькая елочка
Ответить с цитированием
  #6 (permalink)  
Старый 19.04.2018, 23:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

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>

Последний раз редактировалось рони, 19.04.2018 в 23:43.
Ответить с цитированием
  #7 (permalink)  
Старый 19.04.2018, 23:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

j0hnik,


наверняка на форуме есть эта "ёлочка", только вместо repeat, там будет как-то так
document.write(Array(b+1).join("*") + "<br>")
Ответить с цитированием
  #8 (permalink)  
Старый 19.04.2018, 23:50
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

рони,
под новый год я красивые елки видел в какой то темке.
Ответить с цитированием
  #9 (permalink)  
Старый 20.04.2018, 03:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
filter(this,this) как правильно сделать? Smip jQuery 5 23.02.2013 03:07
Как сделать что бы при регистрации человека на моем сайте у него не появлялось... drunkwolfs Общие вопросы Javascript 2 07.08.2012 10:58
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35
Нужно сделать плавное появление текстового поля как на сайте vkontakte.ru paratrooper1981 Элементы интерфейса 1 23.11.2009 18:24
Помогите сделать такое меню(( Lilith Я не знаю javascript 2 02.06.2009 02:31