powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм поиска суммы
25 сообщений из 117, страница 3 из 5
Алгоритм поиска суммы
    #36681801
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioа зачем его учитывать ?действительно, зачем? - 153 байта красивее звучит ведь
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36681810
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychrstudioа зачем его учитывать ?действительно, зачем? - 153 байта красивее звучит ведь

помойму вы просто не в теме.
Если мне ставят задачу написать код, который будет решать определенную задачу, то я скажу что на шарпе это можно оформить функцией размером в 153 байта.

Не понимаю, что вас смущает.

А что я еще должен посчитать ? Ассемблерные комманды нагенерированные компилятором, размер клиентского кода, дизайнер код студии, юнит тесты для тестирования функционала функции ?
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36681841
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioНе понимаю, что вас смущаетменя смущает, что цифра "153 байта" в приложении к шарпу - это ниачём, просто число, ладно бы ещё на С, имела бы хоть какой-то смысл, тоже, довольно сомнительный.
Вы чем меряетесь, собственно, количеством нажатий на клавиатуру, штоле?
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682056
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Символы - отстой. В современной IDE и слова набирать нетрудно. Нужна другая формула посчёта. Но в этой ветке меряются пиписьками. Экономят даже на нажатиях enter.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682069
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, это ведь не просто задача о рюкзаке, это - частный случай, который называется рюкзак со сверхрастущими весами (superincreasing knapsack problem). Сверхрастущая последовательность - это такая последовательность, где каждый последующий элемент больше суммы всех предыдущих. Например, известная последовательность (1,2,4,8) - сверхрастущая, что позволяет легко и однозначно решать проблему представления чисел в двоичном виде. Отличается этот случай тем, что имеет линейную сложность, в отличии от общего случая, являющегося NP-полной задачей. Именно поэтому ее можно решить за время O(n).
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682084
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terasСверхрастущая последовательность - это такая последовательность, где каждый последующий элемент больше суммы всех предыдущих. Например, известная последовательность (1,2,4,8) - сверхрастущая
Геометрическая прогрессия - сверхрастущая? Или наоборот любая сверхрастущая... и т.д ?
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682209
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych[quot rstudio]
Вы чем меряетесь, собственно, количеством нажатий на клавиатуру, штоле?

да, именно компактность языка и меряем. Зачем писать на Лиспе, если там могут выходить программы банально в два раза длинее, я уже не говорю сложнее.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682216
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonterasСверхрастущая последовательность - это такая последовательность, где каждый последующий элемент больше суммы всех предыдущих. Например, известная последовательность (1,2,4,8) - сверхрастущая
Геометрическая прогрессия - сверхрастущая? Или наоборот любая сверхрастущая... и т.д ?геометрическая - в зависимости от множителя. например при 1 - нет, а при 2 - да.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682217
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСимволы - отстой. В современной IDE и слова набирать нетрудно. Нужна другая формула посчёта. Но в этой ветке меряются пиписьками. Экономят даже на нажатиях enter.

предложите свою формулу подсчета. Если нету, то мимо калитки.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682233
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Считайте слова, лексемы, токены, блоки операторов. В противном случае победит язык у которого короче ключевые слова.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682252
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если честно, то я думаю что Сишный синтаксис популярен как раз из-за своей компактности.
На нем можно писать компактные программы. Но всеже шарп это императивная разработка. Все еще задается алгоритм. Если бы это записать скажем в двух трех выражениях\словах и получить программу которая займет скажем не 153 байта, а 20-30 байт, вотето действительно был бы мощный язык. На таком языке эта задача заняла бы не 5-10 минут программиста, а максимум минуту ...
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682265
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСчитайте слова, лексемы, токены, блоки операторов. В противном случае победит язык у которого короче ключевые слова.

Никто не хочет набирать в языке длинные ключевые слова. Поэтому если они есть в языке - это однозначный недостаток. В Лиспе и Си обилие скобок, думаю длину ключевых слов можно здесь упустить. Побайтный замер исходников и лучше и проще и практичней.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682316
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioНа нем можно писать компактные программы. Но всеже шарп это императивная разработка. Все еще задается алгоритм. Если бы это записать скажем в двух трех выражениях\словах и получить программу которая займет скажем не 153 байта, а 20-30 байт, вотето действительно был бы мощный язык. На таком языке эта задача заняла бы не 5-10 минут программиста, а максимум минуту ...
Будьте осторожны. В попытках писать компактный код, создали язык "Трахо-мозг" и ему подобные, где каждая директива занимала около одного символа.

На олипиадах и тестах я-бы расмотрел Haskel-решение из-за его компактности и Форт из-за уникальной парадигмы которую я до конца не понимаю, но чувствую определённый интерес. До кучи еще и Caml с Эрлангом.

С-решение, вопреки замыслам создателей получается не слишком компактным. В основном из-за макропроцессора (!) как это ни странно. Посмотрите хедеры любого промышленного кода операционок и прочего сложного софта и сильно удивитесь насколько там много пре-* обработки исходника.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682438
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не путайте. В моем решении на шарпе, один форич, и два-три ифа. Никакого трахомозга. Я просто хочу увидеть более компактное решение на функциональном языке.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682489
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак Господа присудствующие,
меня заботит всего одна мысль.
Где Маэстро Mozok ?
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682523
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioкстате, проревьювил тут ваш код. Что это за рассово неправильные обьявления за пределами функции. Повод для оптимизации моего кода, 153 байта уже :)
Каюсь, в старой версии определение списка возможных шагов вынесено отдельно.
Исправил на передаваемый параметр. Вот окончательный вариант:
137 байт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
(defun F (p m l)
    (declare (real p) (list m l))
    (loop for x in l
        collect (if (= p x)
                    (cons x m)
                    (if (> p x)
                         (F (- p x) (cons x m) l)
                    )
            ) into w
        finally (return (car (delete nil w)))
    )
)

Хотелось бы увидеть хоть ваш аналог в 153 байта.
P. S. Предлагаю все-таки не учитівать пробелы, код читать легче :).
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682535
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudio
Где Маэстро Mozok ?
Да мне, вообще-то, работать еще надо, кроме как с вами тут развлекаться :).
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682639
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
137 байт
string F(string s, decimal c, decimal d)
{
string r="";
foreach (decimal v in l)
if (r == "")
{
s += v.ToString();
r = (c + v == d) ? s : (c + v < d) ? F(s, c + v, d) : "";
}

return r;
}


Вообщем нужно подумать.
Мне вотети десимал десимал стринг стринг ... не нравятся ... здесь можно еще будет ужать
Пока что ничья ;)
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682658
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudio
Пока что ничья ;)
Протестую. 153 > 137. Шарп пока проигрывает.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682681
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маэстро, плюсик вверху левой кнопкой мыши )
Код на 137 байт уже в студии :)
Вас пока что (!) только спасает что унтипизировано кастрированный Лисп позволяет не песать
ключевых слов вроде string или decimal. В моем же коде таких слов шесть, и как назло шарп не дает пронаследоваться от примитивных типов. Вот тебе и пироги от ООП. Иначе бы от шести неугодных слов в коде удалось бы избавитсья. Но я еще думаю о воркэраунд ;)
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682730
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioунтипизировано кастрированный Лисп
"Это не баг, это фича!"
100 байт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
(defun F (p m l)
    (declare (real p) (list m l))
    (loop for x in l
        thereis (if (= p x)
                    (cons x m)
                    (if (> p x)
                         (F (- p x) (cons x m) l)
                    )
            )
    )
)

И требую доюавить l к списку передаваемых параметров.
У меня-то список возвожных шагов передается.
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682737
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о, лошадка на треть челюсти вперед

136 байт

[SRC с#]
string F(string s, decimal c, decimal d)
{
string r = "";
foreach (decimal v in l)
if (r == "")
{
s += v.ToString();
v += c;
r = (v == d) ? s : (v < d) ? F(s, v, d) : "";
}

return r;
}

[/SRC]
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682739
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mozokrstudioунтипизировано кастрированный Лисп
"Это не баг, это фича!"
+
100 байт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
(defun F (p m l)
    (declare (real p) (list m l))
    (loop for x in l
        thereis (if (= p x)
                    (cons x m)
                    (if (> p x)
                         (F (- p x) (cons x m) l)
                    )
            )
    )
)

И требую доюавить l к списку передаваемых параметров.
У меня-то список возвожных шагов передается.

Эй, ковбой. А где у тебя распечатка пройденого пути :)
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682756
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
132 байта
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 string F(string s, decimal c, decimal d)
        {
            string r = "";
            foreach (decimal v in l)
                if (r == "")
                {
                    s += v.ToString();
                    c += v;
                    r = c == d ? s : c < d ? F(s, c, d) : "";
                }

            return r;
        }
...
Рейтинг: 0 / 0
Алгоритм поиска суммы
    #36682782
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudio,

все еще не вижу передачи списка возможных шагов через параметры. Мне тоже убрать?
rstudioЭй, ковбой. А где у тебя распечатка пройденого пути :)
Для незнакомых с Лиспом объясняю: путь возвращается как результат функции.
...
Рейтинг: 0 / 0
25 сообщений из 117, страница 3 из 5
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм поиска суммы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]