Вопрос № 81498: Здравствуйте.
К примеру есть несколько массивов сост из элементов: "а, б, в, г", " , 0, 1, 2", " , a, b"
Нумерация массивов начинается с 0.
Методом перебора(наверное так он называется) получаю вот такой ...
А вот как можно вычислить в обратную сторону. Т.е. к примеру я даю ему число 38, а мне возвращаются порядковые номера в массивах, т.е. для данного примера "302"
Моих мозгов хватило только на вычисление первой цифры(это просто не сложно :) ), а дальше не могу. Не точно получается.
Отвечает: Verena
Здравствуйте, Асташов Андрей Александрович!
Попробую высказать свои предположения на этот счёт. Обозначим длины второго и третьего массивов за a и b. Тогда "шаг" по первому массиву будет 2+a+2*b итераций (в данном случае 11). Первую цифру тогда вычислим так: n div (2+a+2b), где n - заданный номер по порядку. Вторая цифра (n mod (2+a+2b)) div 3. Третью цифру вычислим так: (n mod (2+a+2b)) mod 3. Перенесено из мини-форума по просьбе эксперта[ Gh0stik ]
Идея в том, чтобы сводить любой номер к номерам первого набора (т.е. пока не менялся первый элемент). Формулы выводила чисто по ходу, для этого примера вроде бы работает.
P.S.: div - целочисленное деление
mod - остаток от деления
Удачи!
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: 8-ой класс)
Ответ отправлен: 08.04.2007, 00:27 Оценка за ответ: 5 Комментарий оценки: За желание помочь. Спасибо. Ну и за результат конечно :)
Отвечает: Gh0stik
Здравствуйте, Асташов Андрей Александрович!
Вот пришел к таким выводам:
1-я цифра: x div 12
2-я цифра: (x mod 12) div 3
3-я цифра: x mod 3.
где mod - остаток от деления; div - целочисленное деление.
===Тест№1===
x=38
1) 38 div 12=3
2) (38 mod 12) div 3 = 0
3) 38 mod 3 = 2
Получили 302.
===Тест№2===
x=46
1) 46 div 12=3
2) (46 mod 12) div 3 = 3
3) 46 mod 3 = 1
Получили 331.
===Тест№3===
x=13
1) 13 div 12=1
2) (13 mod 12) div 3 = 0
3) 13 mod 3 = 1
Получили 101.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 08.04.2007, 00:54 Оценка за ответ: 5 Комментарий оценки: Спасибо. Совпадение на 100% на любых интервалах(проверил на интервале около 10000 значений). Но есть еще маленькая просьба. Описал в минифоруме. Посмотрите пожайлуста, если не сложно.