Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рекурсивное? заполнение массива (матрицы) 
:(
    Опции темы
Master_
Дата 18.9.2008, 07:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



Писал на php, В комментариях отметил формулы вычисления
Код

    for ( $m=0; $m<=100; $m++ )//матрица 100 на 100
    {
        for ( $n=0; $n<=100; $n++ )
        {
            if ( !$m ) //если первый элемент массива равен нулю
            {
                $a[$m.','.$n] = $n+1;
            }
            else if ( !$n )//если второй элемент массива равен нулю
            {
                $a[$m.','.$n] = $a[($m-1).','.'1'];
            }
            else//основная формула $a[ $m-1, $a[$m,$n-1] ]
            {                       //1                a(2,2)=5
                #if ( $m==2 && $n==3) echo '<b>$mn: '.$m.' '.$n.'</b>';
                $_m=($m-1);$_n=($a[$m.','.($n-1)]);
                #$a[] =
                #$a[$_m.','.$_n] = $a[$_m.','.$_n] ? $a[$_m.','.$_n] : add($_m,$_n);

                $a[$m.','.$n] = $a[$_m.','.$_n];//2,3
            }
            echo $a[$m.','.$n].' ';
        }
        echo '<br><br>';
    }

Дело в том, что он находит только начальные элементы... По основной формуле он почти сразу же не может найти значения, потому что не вычислялся массив  $a[($m-1), $a[$m.','.($n-1)] ]; здесь береутся значение и вставляется (см. код) и ключи бывают довольно разными и очень большими...

Может есть какой алгоритм?

Вот как должны выводится элементы (жирным обозначены те, что не нашлись):
1 2 3 4 5 6 7 8

2 3 4 5 6 7 8 9

3 5 7 9 11 13 15 17

5 13 29 61 125 153 509

Первые тр строчки от нуля до трех...

Может кому понравилась задачка? smile

PM   Вверх
Akina
Дата 18.9.2008, 07:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Поверь на слово - черта с два кто чего поймет. Вместо того, чтобы рисовать свое решение, да к тому же тебя явно не устраивающее, лучше бы потратил силы на вменяемое описание задачи.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
ksili
Дата 18.9.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 2
Всего: 17



Цитата(Master_ @  18.9.2008,  11:07 Найти цитируемый пост)

1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 9
3 5 7 9 11 13 15 17
5 13 29 61 125 153 509

это арифметические прогрессии. Алгоритм вычисления i-го члена - в школьном учебнике





--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Akina
Дата 18.9.2008, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



ksili, последняя строка на арифметическую не сильно похожа


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
ksili
Дата 18.9.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 2
Всего: 17



извиняюсь ошибся. Это рекурсия a(i) = 2*a(i-1) + 3
да и остальные тоже можно рекурсивно описать. 

 Собственно автор спрашивал алгоритм - так вот он smile


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Akina
Дата 18.9.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Не понял - при чем тут рекурсия??? обычное параметрическое задание последовательности.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Master_
Дата 18.9.2008, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



Нужно сделать 10на10 матрицу.
Что для каждой искать последовательность?!?! Это не вариант!
нужно именно заполнение как-то сделать...
PM   Вверх
Akina
Дата 19.9.2008, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Опиши СЛОВАМИ закономерность заполнения.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Mayk
Дата 19.9.2008, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



выглядит как ф-ция Аккермана. 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
ksili
Дата 19.9.2008, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 2
Всего: 17



Цитата(Akina @  18.9.2008,  20:09 Найти цитируемый пост)
Не понял - при чем тут рекурсия???

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


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Master_
Дата 19.9.2008, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



Цитата(Mayk @  19.9.2008,  08:26 Найти цитируемый пост)
Аккермана

Точно!
Вот как выглядит: user posted image
PM   Вверх
Akina
Дата 19.9.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Ну так и в чем проблема? пишешь тупо рекурсивную функцию вычисления, и там же добавляешь строку занесения элемента в массив, если оба параметра находятся в заданных пределах. После чего просто стартуешь вычисление fnAck(10,10).

PS. Есть только одна мелочь - вычислить fnAck(10,10) тебе не удастся. Просто оперативки не хватит. Вернее стека. Вложенность там получится дичайшая.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
superwolf
Дата 20.9.2008, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.11.2007

Репутация: нет
Всего: нет



из википедии: "число fnAk(4,4)  настолько велико, что количество цифр в порядке этого числа многократно превосходит количество атомов в наблюдаемой части вселенной."
Так что боюсь и здесь не хватит стека) не то что для 10,10
PM MAIL   Вверх
Master_
Дата 20.9.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



Блин, для четверки уже не находит, вообще может где-то известны числа, больше чем 3:x ? 
PM   Вверх
Master_
Дата 20.9.2008, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



Вообще возможно ли решение с числом больше трех? Может етсь где какие хорошие документы по полному описанию?
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0664 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.