Javascript.RU

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

задача нахождения нат.чисел, запись которых есть одна из строгих последовательностей
Здравствуйте. У меня есть такая задача:
Найти все натуральные числа, не превосходящие заданного n, десятичная запись которых есть строго возрастающая или строго убывающая последовательность цифр.

У меня есть код, который считывает число и записывает цифры числа в массив:
var b = +prompt('введите число:');
var massiv = [];
for (var temp = b; Math.round(temp) != 0; temp /= 10, temp = Math.floor(temp)) {
      massiv.unshift(temp % 10);
}

Помогите пожалуйста дописать программу. Или подскажите как организовать нахождение этих чисел.
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2013, 18:28
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Вообще не поятно чо вам надо: в коде одно, в задаче другое, подразумевали вы наверняка третье...
Например чтобы проверить введённое число, достаточно сделать так:
var digits = '0123456789 9876543210',
    num = +prompt('введите число:');;
if( ~digits.indexOf(num) ) alert('Норм: ' + num);
else alert('Печаль: ' + num);
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2013, 19:10
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

Aetae,
Я так думаю, что следующий пример описывает постановку проблемы:
Цитата:
Дано: 50
Найти:
а) "восходящие" - 12, 23, 34, 45
б) "нисходящие" - 10, 21, 32, 43
И так для любого другого заданного числа.

Последний раз редактировалось with-love-from-siberia, 19.04.2013 в 19:23.
Ответить с цитированием
  #4 (permalink)  
Старый 19.04.2013, 19:14
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

with-love-from-siberia,
А я думаю по-другому. Строго возрастающая последовательность - это не последовательность, в которой каждая следующая цифра на 1 больше предыдущей, а последовательность, где каждая следующая цифра строго больше предыдущей (т.е. не "больше или равно" а "строго больше")
Пусть автор для начала уточнит условие.

Решать можно простым перебором, это годится для небольших чисел, но если граничное число большое и требуется эффективность, то можно применить более хитрый алгоритм, но тогда решение будет нетривиальным.

Последний раз редактировалось rgl, 19.04.2013 в 19:17.
Ответить с цитированием
  #5 (permalink)  
Старый 19.04.2013, 19:27
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

rgl,
Согласен. Уточнение требуется.

Сообщение от Mirach
Найти все натуральные числа, не превосходящие заданного n, десятичная запись которых есть строго возрастающая или строго убывающая последовательность цифр.
Сообщение от rgl
Строго возрастающая последовательность
Скорее всего Вы правы. Тогда решение должно быть:

Цитата:
Дано: 50
Найти:
а) "восходящие" - 12, 34
б) "нисходящие" - 10, 32
Ответить с цитированием
  #6 (permalink)  
Старый 19.04.2013, 22:47
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

with-love-from-siberia,
Я имел ввиду другое, дано 50, восходящие 0-9, 12-19, 23-29, 34-39, 45-49, нисходящие 0-9, 10, 20, 21, 30-32, 40-43, 50
Ответить с цитированием
  #7 (permalink)  
Старый 19.04.2013, 23:22
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

rgl, да... Без четкого определения не обойтись.
Ответить с цитированием
  #8 (permalink)  
Старый 19.04.2013, 23:36
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Сообщение от with-love-from-siberia Посмотреть сообщение
rgl, да... Без четкого определения не обойтись.
О чём я самого начала и сказал.)
А в пример привёл самое простое что пришло на ум в данных условиях.)
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 21.04.2013, 17:01
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

Сообщение от Mirach
Здравствуйте. У меня есть такая задача:
Найти все натуральные числа, не превосходящие заданного n, десятичная запись которых есть строго возрастающая или строго убывающая последовательность цифр.
Вот для возрастающих

<script type="text/javascript">
function Sequence(n)
{
    if (n<12) return 'Искомых чисел нет.';

    var i, k, a, b, t, A=[];

    for (i=12; i<=n; i++)
    { t = true;
      k = i;
      a = k%10;
      k = Math.floor(k/10);
      while (k>0 && t)
       { b = k%10;
         if (b>=a) t = false;
         else { a = b; k = Math.floor(k/10); }
       }
      if (t) A[A.length]=i;
    }
  
    return A;
}
</script>
<button onclick="alert( Sequence(50) )">Найти числа для n=50</button>

Сообщение от rgl
восходящие 0-9
Разве цифры этих чисел образуют строго возрастающие или строго убывающие последовательности?
Ответить с цитированием
  #10 (permalink)  
Старый 22.04.2013, 11:59
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от rgl Посмотреть сообщение
восходящие 0-9
Сообщение от Demath Посмотреть сообщение
Разве цифры этих чисел образуют строго возрастающие или строго убывающие последовательности?
Математик скажет "да", философ - "нет".
Аналогично оба ответят на вопрос: пустое множество - это множество?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37