Первый Нижегородский АвтоФорум (Архив)  

Вернуться   Первый Нижегородский АвтоФорум (Архив) > Форумы неавтомобильной тематики > Свободный форум
Нижегородский АвтоПортал (Архив) Справка Галереи Участники Автовзаимопомощь Календарь Поиск Сообщения за день Все разделы прочитаны

Последние сообщения с Пейджера. Показать все
За последнее время сообщений нет.
Внимание! Это архив форума.
Это архив форума и доступен в режиме "только чтение". Текущий форум находится по старому адресу www.autoforum.pro.
Свободный форум Любые темы, которым тесно в рамках существующих форумов

 
Опции темы Поиск в этой теме Опции просмотра
 
Старый 26-03-2008, 11:17 Математики, ау!   #1
Telepuz
Мелкий лавочник
Задачка тут одна возникла.
Есть последовательность чисел: 1,2,3,4... итд
Нужно путем какой-либо формулы получить последовательность 1,2,3,2,3,1,3,1,2...итд
Если наглядно представить, то можно тройками группировать:
1 2 3
4 5 6
7 8 9

это исходная, а надо получить:
1 2 3
2 3 1
3 1 2

1 2 3
2 3 1
3 1 2
и так далее...
Telepuz вне форума  
 
Старый 26-03-2008, 11:19   #2
okosoft
Старожил
ты пальцем скажи - тебе матричные преобразования надо или что?
okosoft вне форума  
 
Старый 26-03-2008, 11:20   #3
Max
Флудер
Цитата:
Сообщение от okosoft
ты пальцем скажи
это как?
__________________
bgp win
Max вне форума  
 
Старый 26-03-2008, 11:20   #4
Telepuz
Мелкий лавочник
Да я не знаю что мне надо. У меня есть программка, в которой есть цикл от 1 до N, мне нужно чтобы в результате работы этой формулы из номера итерации цикла получалось соответствующее число новой последовательности.
Матрицы для наглядности нарисовал.
Telepuz вне форума  
 
Старый 26-03-2008, 11:23   #5
egold
Матерый
в такой постановке и сам Гаусс не решит.
__________________
"А мой - влезет! Смотри, Пятачок! Входит - и выходит...Входит - и выходит" (С)
egold вне форума  
 
Старый 26-03-2008, 11:27   #6
Telepuz
Мелкий лавочник
Я не знаю как объяснить понятнее...
Telepuz вне форума  
 
Старый 26-03-2008, 11:34   #7
Shevi
Старожил
Цитата:
Сообщение от Telepuz
Задачка тут одна возникла.
Есть последовательность чисел: 1,2,3,4... итд
Нужно путем какой-либо формулы получить последовательность 1,2,3,2,3,1,3,1,2...итд
Если наглядно представить, то можно тройками группировать:
1 2 3
4 5 6
7 8 9

это исходная, а надо получить:
1 2 3
2 3 1
3 1 2

1 2 3
2 3 1
3 1 2
и так далее...


Так тут нет изменений... А количество матриц (сочетаний три на три) какое должно получиться?

Привети пример для последовательности 1 2 3 4 5, например...
__________________
Кто не видит красоты в мелочах, тот не увидит и шедевра... (моё)

Если IT-шник пришел на работу в костюме - это повод начальству задуматься.... Возможно он вечером идет устраиваться на новую работу
Shevi вне форума  
 
Старый 26-03-2008, 11:35   #8
Telepuz
Мелкий лавочник
Да не матрицы это, а последовательности, причем длина заранее неизвестна. Может быть любой. От 1 до "много"
Вот пример для 6:
1 2 3 4 5 6 - исходная
1 2 3 2 3 1 - новая
Пример для 10:
1 2 3 4 5 6 7 8 9 10 - исходная
1 2 3 2 3 1 3 1 2 1 - новая
Telepuz вне форума  
 
Старый 26-03-2008, 11:37   #9
okosoft
Старожил
глухой со слепым.
нафига ты матрицу 3x3 приводил с толку всех сбил?
приведи пример для n = 23 тогда попробуем хоть систематизировать.
мне кажется тебе надо определить по n положение в матрице в которой по диагонали стоят 1 2 3 и затем чредуются.
так?
okosoft вне форума  
 
Старый 26-03-2008, 11:38   #10
egold
Матерый
А-НАНЫ-БА-НАНЫ..А-НАНАСЫ-БА-НАНАСЫ...

помоему я понял что надо...
__________________
"А мой - влезет! Смотри, Пятачок! Входит - и выходит...Входит - и выходит" (С)
egold вне форума  
 
Старый 26-03-2008, 11:48   #11
Telepuz
Мелкий лавочник
Матрицу вот для чего приводил.
Изначально задача такая.
Допустим есть некий набор квадратиков разноцветных. Цветов всего три: красный, синий и зеленый. Квадратики располагаются по три штуки в ряд и сколько угодно в столбце. Задача, чтобы рядом (по вертикали или горизонтали) не стояло одинаковых цветов.
Получаем:
к з с
з с к
с к з
к з с

итд...
Если принять, что к =1, з = 2, с = 3, то получится то, что я писал в первом посте.
Telepuz вне форума  
 
Старый 26-03-2008, 12:15   #12
GronD
Завсегдатай
в строке обязательно все 3 цвета должны присутствовать?
GronD вне форума  
 
Старый 26-03-2008, 11:42   #14
paganel
Матерый
Цитата:
Сообщение от Telepuz
Вот пример для 6:
1 2 3 4 5 6 - исходная
1 2 3 2 3 1 - новая
Пример для 10:
1 2 3 4 5 6 7 8 9 10 - исходная
1 2 3 2 3 1 3 1 2 1 - новая
а почему, например, не 123321 и 3211233122?
paganel вне форума  
 
Старый 26-03-2008, 11:50   #15
Telepuz
Мелкий лавочник
По сути каждая новая тройка (если глядеть как матрицы - строка) получается путем сдвига предыдущей на 1 поле влево или вправо. Но главное всегда в одну и ту же сторону.
Telepuz вне форума  
 
Старый 26-03-2008, 11:54   #16
paganel
Матерый
не знаю как формулой, но простейшим циклом for задачка решается. даже рекурсии не понадобится.
paganel вне форума  
 
Старый 26-03-2008, 11:43   #17
egold
Матерый
короче есть формально заданная функция f(N) такого вида

f(3) = 1 2 3
f(6) = 1 2 3 2 3 1
f(7) = 1 2 3 2 3 1 3
f( = 1 2 3 2 3 1 3 1
f(9) = 1 2 3 2 3 1 3 1 2
f(10) = 1 2 3 2 3 1 3 1 2 1

и идея в том, чтобы нарисовать какую-то формулу, дающую в результате этот ряд при любом N. точнее его последнюю цифру.
__________________
"А мой - влезет! Смотри, Пятачок! Входит - и выходит...Входит - и выходит" (С)
egold вне форума  
 
Старый 26-03-2008, 11:43   #18
gandjubazzz
Завсегдатай
1 2 3 4 5 6 7 8 9 10 11 12 .....
1 2 3 2 3 1 3 1 2 1 3 2 (или 1 2 3 ? )

Распиши последовательность до того момента как она повторяться начнет.

И я правильно понял, надо найти функцию что-то типа F(i)=x
Где x- число из второй последовательности
А i - порядковый номер этого числа (или, что тоже самое число из 1-й последовательности)?
gandjubazzz вне форума  
 
Старый 26-03-2008, 11:49   #19
Telepuz
Мелкий лавочник
Период повторения последовательности - 9, то есть 1 и 10 уже одно и то же.
Telepuz вне форума  
 
Старый 26-03-2008, 11:59   #20
kvn-nn69
Завсегдатай
Цитата:
Сообщение от Telepuz
Период повторения последовательности - 9, то есть 1 и 10 уже одно и то же.

Если функция периодическая может быть в ряд Фурье закатать ?
kvn-nn69 вне форума  
 
Старый 26-03-2008, 12:00   #21
egold
Матерый
да, а потом уравнение в частных производных еще записать...народ не пугай
__________________
"А мой - влезет! Смотри, Пятачок! Входит - и выходит...Входит - и выходит" (С)
egold вне форума  
 
Старый 26-03-2008, 12:15   #22
kvn-nn69
Завсегдатай
Цитата:
Сообщение от egold
да, а потом уравнение в частных производных еще записать...народ не пугай

Да это же просто. Название только страшное
kvn-nn69 вне форума  
 
Старый 26-03-2008, 12:10   #24
okosoft
Старожил
Попробуй вот так:

f(x) = 1 + ((((x-1) mod 3) + (((x-1) mod 9) div 3)) div 3)

x - число в последовательности
лишних скобок навсякий случай напихал чтобы от интерпретатора не зависило
okosoft вне форума  
 
Старый 26-03-2008, 12:14   #25
Крыглоупек Грамцианский
Древняя Обезьяна
Какие вы все умные.
Аж за себя стыдно стало.
Крыглоупек Грамцианский вне форума  
 
Старый 26-03-2008, 23:01   #28
Telepuz
Мелкий лавочник
Сижу, туплю, какие функции в php применить )) наверное надо еще выпить.
Telepuz вне форума  
 
Старый 26-03-2008, 23:36   #29
Telepuz
Мелкий лавочник
Дотупил, вобщем ) (пришлось выпить еще)
$y = 1 + fmod(fmod($x-1,3)+floor(fmod($x-1,9)/3),3);

Огромное спасибо, формула работает!
Все умные такие, аж слов нету...
Telepuz вне форума  
 
Старый 26-03-2008, 23:48   #30
aaz
Мастер ссылок
Серёг, там же обычное деление ("/") является целочисленным ("div") при целочисленных операндах. Да и "стоковый" "mod" ЕМНИП ещё никто не отменял.
aaz вне форума  
 
Старый 26-03-2008, 23:51   #31
Telepuz
Мелкий лавочник
Там же нету явного описания целочисленная переменная или нет, это ж не C какой нить. Так что лучше так, по крайней мере работает и меня это устраивает, пока ) осталось это все дело запихать в SMARTY...
Telepuz вне форума  
 
Старый 26-03-2008, 23:57   #32
aaz
Мастер ссылок
Явного нет. А вот неявное - вполне себе есть.

Ты попробуй. (Живого PHP нет под рукой, поэтому врать не стану.)
aaz вне форума  
 
Старый 26-03-2008, 23:59   #33
Telepuz
Мелкий лавочник
Хрен там.
Если написать например
$a = 4;
$b = 3;
echo ($a/$b);
выведет дробное
Telepuz вне форума  
 
Старый 26-03-2008, 23:57   #34
okosoft
Старожил
ваши благодарности записанные нам выше всяких похвал!
okosoft вне форума  
 
Старый 26-03-2008, 12:21   #35
GronD
Завсегдатай
mod - это целое от деления, а div - это есть остаток или нет, так?
GronD вне форума  
 
Старый 26-03-2008, 12:22   #36
okosoft
Старожил
mod - это остаток от деления.
а div - это целочисленное деление.
okosoft вне форума  
 
Старый 26-03-2008, 14:34   #37
Benzin95
Завсегдатай
У меня f(11)=1 получилось, а должно быть 2... не сходится че-то... Хотя, мог ступить и неправильно посчитать (в уме делал)
Benzin95 вне форума  
 
Старый 26-03-2008, 14:52   #38
okosoft
Старожил
Всё, парю.

Не правильно:
f(x) = 1 + ((((x-1) mod 3) + (((x-1) mod 9) div 3)) div 3)

Вот так вроде правильно:
f(x) = 1 + ((((x-1) mod 3) + (((x-1) mod 9) div 3)) mod 3)
okosoft вне форума  
 
Старый 26-03-2008, 14:36   #39
hoopoe
Матерый
Цитата:
Сообщение от okosoft
Попробуй вот так:

f(x) = 1 + ((((x-1) mod 3) + (((x-1) mod 9) div 3)) div 3)

x - число в последовательности
лишних скобок навсякий случай напихал чтобы от интерпретатора не зависило
ну или расписать значения f(x) при x < 10, а потом выразить f(x) как
f(x) = f((x mod 9) + 1)
__________________
храни тя господь в сухом, прохладном месте
был в бане
hoopoe вне форума  
 
Старый 26-03-2008, 14:45   #40
Benzin95
Завсегдатай
Тоже к такому варианту пришел, только f(x) = f(x mod 9)
Benzin95 вне форума  
 
Старый 26-03-2008, 14:53   #41
Mad Dragon
Просто мимо проходил
f(N) = 1+((((N-1)div3)mod3)+((N-1)mod3))mod3)
__________________
Дорогу осилит идущий... по графику..
Mad Dragon вне форума  
 
Старый 26-03-2008, 14:58   #42
okosoft
Старожил
У тебя открывающихся скобок меньше чем закрывающихся! Синтаксически уже не верная формула

посмотри мою формулу:
f(x) = 1 + ((((x-1) mod 3) + (((x-1) mod 9) div 3)) mod 3)
okosoft вне форума  
 
Старый 26-03-2008, 16:06   #43
Mad Dragon
Просто мимо проходил
Погорячился..
f(N) = 1+((((N-1)div3)mod3)+((N-1)mod3))mod3
__________________
Дорогу осилит идущий... по графику..
Mad Dragon вне форума  
 
Старый 26-03-2008, 16:25   #44
Mad Dragon
Просто мимо проходил
Ну, (((x-1) mod 9) div 3) и (((N-1)div3)mod3) делают одно и то же, так что формулы коррелируют однозначно..
__________________
Дорогу осилит идущий... по графику..
Mad Dragon вне форума  


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +4, время: 17:53.


vBulletin v3.5.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Хостинг предоставлен компанией ТТК