Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2016, 23:59
Интересующийся
Отправить личное сообщение для hbsv Посмотреть профиль Найти все сообщения от hbsv
 
Регистрация: 06.01.2016
Сообщений: 27

Обратная Пирамида
Здравствуйте!

Подскажите пожалуйста правильную мысль, на кодеварс есть элементарная задача, но я ее не могу догнать)))
Нужно построить обратную пирамиду:

123456789010987654321
1234567890987654321
12345678987654321
123456787654321
1234567654321
12345654321
123454321
1234321
12321
121
1

Вот то, что есть на данный момент:
function getADownArrowOf(n) {
    for (var i = n; i >= 1; i--){
        for (var j = n; j>=1 ; j--) {
            console.log(j);
        }
    }
}


getADownArrowOf(5);


Заранее оч. Благодарен!
Ответить с цитированием
  #2 (permalink)  
Старый 13.02.2016, 00:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

hbsv,
как-то так ...
<script>
function getADownArrowOf(n) {
    for (var i = n; i >= 1; i -= 2) {
        var a = "";
        for (var j = 0; j <= i / 2; j++) a += (j + 1) % 10;
        for (var j = i / 2 | 0; j--;) a += (j + 1) % 10;
        document.write(a + "<br>")
    }
};
getADownArrowOf(33);

 </script>
Ответить с цитированием
  #3 (permalink)  
Старый 13.02.2016, 01:24
hhh hhh вне форума
Профессор
Отправить личное сообщение для hhh Посмотреть профиль Найти все сообщения от hhh
 
Регистрация: 19.11.2013
Сообщений: 150

nodequest,
123456789101987654321 - лишняя единица
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2016, 01:42
Интересующийся
Посмотреть профиль Найти все сообщения от nodequest
 
Регистрация: 31.01.2016
Сообщений: 17

hhh,
спасибо, пофиксил
Ответить с цитированием
  #5 (permalink)  
Старый 13.02.2016, 01:49
Интересующийся
Посмотреть профиль Найти все сообщения от nodequest
 
Регистрация: 31.01.2016
Сообщений: 17

hhh,
Вообще, я не то, написал, у него там какие то нули пошли дальше, я не догоняю нифига. Ну его нафиг это числодрочерство, не мое это
Ответить с цитированием
  #6 (permalink)  
Старый 13.02.2016, 10:18
Интересующийся
Отправить личное сообщение для hbsv Посмотреть профиль Найти все сообщения от hbsv
 
Регистрация: 06.01.2016
Сообщений: 27

Спасибо, буду знать где рыть дальше ))
Ответить с цитированием
  #7 (permalink)  
Старый 13.02.2016, 18:05
Интересующийся
Отправить личное сообщение для hbsv Посмотреть профиль Найти все сообщения от hbsv
 
Регистрация: 06.01.2016
Сообщений: 27

А как сделать, что бы при вводе значения (n) выводило колл-во строк?

т.е. чтоб соответствовало проверке:

Test.assertEquals(getADownArrowOf(1), "1");
Test.assertEquals(getADownArrowOf(3), "12321\n 121\n 1");
Test.assertEquals(getADownArrowOf(5), "123454321\n 1234321\n 12321\n 121\n 1");

Т.к. при значении (n) - 3 выводит две строки.

Спасибо большое!
Ответить с цитированием
  #8 (permalink)  
Старый 13.02.2016, 19:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

hbsv,
<script>

function getADownArrowOf(n) {
    var c = [];
    for (var i = n*2-1; i >= 1; i -= 2) {
        var a = "";
        for (var j = 0; j <= i / 2; j++) a += (j + 1) % 10;
        for (var j = i / 2 | 0; j--;) a += (j + 1) % 10;
        c.push(a)
    }
    return c
};
document.write(getADownArrowOf(1)+"<br>");
document.write(getADownArrowOf(3)+"<br>");
document.write(getADownArrowOf(5)+"<br>");
document.write(getADownArrowOf(7)+"<br>");
 </script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратная связь. newbystorm AJAX и COMET 7 06.09.2013 12:41
Обратная связь плагина с dom sotik jQuery 10 25.02.2013 09:52
обратная связь перезагружает страничку l-liava-l Серверные языки и технологии 1 14.05.2012 14:17
Обратная связь ПРИ ПОМОЩИ JavaScript qwertypop Элементы интерфейса 2 23.04.2009 18:30