Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Математика


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ НАУКА И ОБРАЗОВАНИЕ / Точные науки / Математика

Выпуск № 345
от 13.04.2007, 02:35

Администратор:Tigran K. Kalaidjian
В рассылке:Подписчиков: 133, Экспертов: 43
В номере:Вопросов: 1, Ответов: 2


Вопрос № 81498: Здравствуйте. К примеру есть несколько массивов сост из элементов: "а, б, в, г", " , 0, 1, 2", " , a, b" Нумерация массивов начинается с 0. Методом перебора(наверное так он называется) получаю вот такой ...

Вопрос № 81.498
Здравствуйте.

К примеру есть несколько массивов сост из элементов: "а, б, в, г", " , 0, 1, 2", " , a, b"
Нумерация массивов начинается с 0.
Методом перебора(наверное так он называется) получаю вот такой список:
Порядковый номер - комбинация - порядковый номер в каждом массиве
0 - а - 000
1 - аa - 001
2 - аb - 002
3 - а0 - 010
4 - а0a - 011
5 - а0b - 012
6 - а1 - 020
7 - а1a - 021
8 - а1b - 022
9 - а2 - 030
10 - а2a - 031
11 - а2b - 032
12 - б - 100
13 - бa - 101
14 - бb - 102
15 - б0 - 110
16 - б0a - 111
17 - б0b - 112
18 - б1 - 120
19 - б1a - 121
20 - б1b - 122
21 - б2 - 130
22 - б2a - 131
23 - б2b - 132
24 - в - 200
25 - вa - 201
26 - вb - 202
27 - в0 - 210
28 - в0a - 211
29 - в0b - 212
30 - в1 - 220
31 - в1a - 221
32 - в1b - 222
33 - в2 - 230
34 - в2a - 231
35 - в2b - 232
36 - г - 300
37 - гa - 301
38 - гb - 302
39 - г0 - 310
40 - г0a - 311
41 - г0b - 312
42 - г1 - 320
43 - г1a - 321
44 - г1b - 322
45 - г2 - 330
46 - г2a - 331
47 - г2b - 332

А вот как можно вычислить в обратную сторону. Т.е. к примеру я даю ему число 38, а мне возвращаются порядковые номера в массивах, т.е. для данного примера "302"

Моих мозгов хватило только на вычисление первой цифры(это просто не сложно :) ), а дальше не могу. Не точно получается.

Всем спасибо, кто поможет моей задачке.
Отправлен: 07.04.2007, 22:56
Вопрос задал: Асташов Андрей Александрович (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 13)

Отвечает: 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 значений). Но есть еще маленькая просьба. Описал в минифоруме. Посмотрите пожайлуста, если не сложно.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.48 от 12.04.2007
Яндекс Rambler's Top100

В избранное