Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Lua, объяснить код 
:(
    Опции темы
konshyn
Дата 15.10.2015, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

function R()
    return (function(...)
                _ = 0;

                repeat
                    _ = _ + 1;
                 until# (function(...)
                    for _ = 1, (...)[(...)[1]+1]{(...)[2]} do

                        (function(...)

                            for _ = (...)[2],     (...)[1][(...)[1][1] + 1] {  (...)[1][2]  } do

                                if (    (...)[1][2] == _^(...)[1][1] + (...)[2] ^ (...)[1][1] )  then
 
                                    (function(...)
                                        (...)[1][#(...)[1]+1] = (...)[2];

                                    end){(...)[1][3], (...)[2]};
                                end;
                            end;

                        end){...,_}
                    end;


                    
                    return(...)[3];
                end) {(...)._ - 1, _, {},
                                            function(...)

                                            return(...)[1]^0.35;
                                            end
                     } ==(...)._;
             
      
                return _;
            end){_ = 4}
end

print (R())


Объяснити кто-нибудь, куда что передается? и какой выход из repeat?


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
Lipetsk
  Дата 15.10.2015, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


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

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



Красота!
А откуда это?

Могу только сказать, что repeat until выполнится лишь 1 раз, т.к. # не может вернуть ни nil ни false
Ошибся, оно потом сравнивается с (...)._
Надо подумать

Это сообщение отредактировал(а) Lipetsk - 15.10.2015, 22:13
PM   Вверх
Lipetsk
  Дата 15.10.2015, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


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

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



Здесь в функции ищутся числа, а выход произойдёт, когда найдётся 4 таких числа
Поиск чисел происходит так. Берутся последовательно натуральные числа. Взяли например число i. Если i можно представить в виде суммы кубов двух натуральных чисел, то берём меньшее из них (если совпадают, то любое)

Опять немного поторопился
Здесь ищется число, которое можно представить суммой кубов двух натуральных чисел хотябы 4-мя способами

Это сообщение отредактировал(а) Lipetsk - 15.10.2015, 23:34
PM   Вверх
Lipetsk
Дата 15.10.2015, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


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

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



Например, двумя способами представляется число
1729=1^3+12^3=9^3+10^3
Мощности моего нетбука не хватает, чтоб за 10 минут найти число с тремя вариантами представления  smile  Попробую завтра на работе  smile 


PM   Вверх
konshyn
Дата 16.10.2015, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Lipetsk @  15.10.2015,  23:21 Найти цитируемый пост)
Опять немного поторопился
Здесь ищется число, которое можно представить суммой кубов двух натуральных чисел хотябы 4-мя способами


Да, я вчера разобрался. Но я это сделал командной print. Не могли Вы мне объяснить, что куда и как передается, 1-2 итерации от начала до конца после repeat?) 


Цитата(Lipetsk @  15.10.2015,  23:52 Найти цитируемый пост)
Мощности моего нетбука не хватает, чтоб за 10 минут найти число с тремя вариантами представления  smile  Попробую завтра на работе  smile 

6963472309248 - вот это число


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
Lipetsk
Дата 17.10.2015, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


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

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



Оказывается, мне уведомления об ответах перестали приходить :( в настройках всё правильно

Цитата(konshyn @  16.10.2015,  10:38 Найти цитируемый пост)
Не могли Вы мне объяснить, что куда и как передается, 1-2 итерации от начала до конца после repeat?) 

Вы просто аккуратно замените в каждом блоке имена локальных переменных на более привычные
В функциях аргумент ... замените на t1, t2, t3
Тогда останется подставить аргумент и избавится от функций, т.е. вместо
Код

(function(t1)
t1[1][1]=t1[3]+2*t1[2]  -- например, было такое тело
end){a1,a2,a3}
получится просто
Код

a1[1]=a3+2*a2


А откуда у вас этот код???
И сколько считалось? Я так и не попробовал запустить на нормальном компьютере 
PM   Вверх
konshyn
Дата 19.10.2015, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Lipetsk @  17.10.2015,  15:54 Найти цитируемый пост)
Вы просто аккуратно замените в каждом блоке имена локальных переменных на более привычные
В функциях аргумент ... замените на t1, t2, t3
Тогда останется подставить аргумент и избавится от функций, т.е. вместо
...


о, блин, как! Разобрался, спасибо! smile


Цитата(Lipetsk @  17.10.2015,  15:54 Найти цитируемый пост)
А откуда у вас этот код???


В общем, проходит один достаточно интересный конкурс - opener от itransiotion (для тех, кто живет в Беларуси). Вот там очень занимательные задачи такого вида, или на смекалку, где-то нужно знать математику и т.п.

Если интересно, могу скинуть задания. Но если Вы сам вдруг захотите посмотреть их, то предупрежу: не получите условие следующего задания, пока не решите предыдущее:)
Вот ссылка opener2015


Цитата(Lipetsk @  17.10.2015,  15:54 Найти цитируемый пост)
И сколько считалось? Я так и не попробовал запустить на нормальном компьютере  

Вообще, быстрее вышло найти ответ в энциклопедии последовательностей после правильного запроса и перехода по ссылкам.
Но одновременно пока искал решение, у знакомого считало на компе. Код был переписан на С++ и оптимизирован. Минут 40 заняло.



--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
Lipetsk
Дата 19.10.2015, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


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

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



Цитата(konshyn @  19.10.2015,  14:31 Найти цитируемый пост)
Если интересно, могу скинуть задания.

Пожалуйста, в PM
PM   Вверх
Lipetsk
Дата 19.10.2015, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


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

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



Цитата(konshyn @  19.10.2015,  14:31 Найти цитируемый пост)
Если интересно, могу скинуть задания.

Пожалуйста, в PM
PM   Вверх
konshyn
Дата 19.10.2015, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Lipetsk @  19.10.2015,  15:55 Найти цитируемый пост)
Пожалуйста, в PM 

Что такое РМ и как туда скинуть?)

Добавлено через 1 минуту и 12 секунд
Нашел:)


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Добро пожаловать в раздел "Другие языки" форума Vingrad!

Void
Void

Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)

  • Обязательно следуйте правилам Форума.
  • Пожалуйста, прочитайте и следуйте рекомендациям по работе в разделе и навигации по Форуму.
  • Для вставки текстов исходных кодов используйте подсветку синтаксиса из выплывающего списка Код в форме ответа. Если Ваш язык в списке не представлен, то используйте тег: [code=ваш_язык]код[/code], например, [code=ada]код[/code]. Если в будущем подсветка синтаксиса для указанного языка будет реализована, исходный код преобразится.
  • Помните, один вопрос - одна тема.

Приятного времяпрепровождения! С уважением, Void, kemiisto .

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


 




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


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

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