|
|
|
|
|
|
для: Unkind
(17.06.2007 в 23:59)
| | Функций с указанными именами должно быть две, иначе тестер их не найдет.
Своих собственных функций, классов, методов - на усмотрение автора. Влиять будет на стиль, читабельность, быстродействие.
Отправлять же Вы вольны всё что угодно, в том числе тесты, демнострации, комментарии. | |
|
|
|
|
|
|
|
для: Trianon
(17.06.2007 в 23:33)
| | Мне хотелось бы придерживаться того, что функций будет только две до конца. В противном случае я бы разбил их на несколько и запихал все в один класс.
Кстати, посылать в качестве ответа только функции? Никаких тестов и демонстраций не надо? | |
|
|
|
|
|
|
|
для: Unkind
(17.06.2007 в 23:22)
| | Боже упаси.
Я не запрещал использование своих собственных функций. Запрещены лишь стандартные - потому что у стороннего разработчика их может просто напросто не найтись.
Если Вы знаете как реализовать pow (или любую другую функцию) - напишите собственную. | |
|
|
|
|
|
|
|
для: Trianon
(17.06.2007 в 22:21)
| | Просто, к сожалению, в PHP оператора возведения в степень не ввели. А в Perl, к примеру, ввели. А в самом коде писать это некрасиво. А под отдельную ф-ю выводить нельзя.
О sort(), наоборот, даже не спрашивал, т.к. посчитал "умной функцией". Хорошо, буду использовать ее. | |
|
|
|
|
|
|
|
для: Unkind
(17.06.2007 в 21:25)
| | strlen - да. В php это даже не функция, а build-in свойство объекта.
pow - нет. pow там нафиг не нужен. Но ход Ваших мыслей мне нравится.
Я готов разрешить использовать функцию sort для лексикографического упорядочения алфавита. Только потому, что сам забыл его упорядочить в тестере.
В конце концов - задача не про сортировку...
Ах, сколько чудных задач можно про сортировку написать.... | |
|
|
|
|
|
|
|
для: Trianon
(09.06.2007 в 15:15)
| | strlen() тоже относится к простым?
pow()?
P.S. list() функцией не является, поэтому, думаю, за нёё штрафные баллы начислять не будут. | |
|
|
|
|
|
|
|
для: Unkind
(17.06.2007 в 19:19)
| | Спасибо. Теперь понятно. Моя ошибка была в том, что я пытался перевести текст из 256-значного алфавита в 64-значный напрямую, без использования двоичной системы счисления | |
|
|
|
|
|
|
|
для: Eugene77
(17.06.2007 в 19:48)
| | $max = floor(($l1*8 * 1.33 + 7)/8); - это на 33 процента тест. Для base64_encode
Для проверки решений на 25 процентов эта строка будет выглядеть так:
$max = floor(($l1*8 * 1.25 + 7)/8);
Суть теста в том, чтобы закодированная строка с не превышала исходную более чем на 25 % (округляя до байта вверх). | |
|
|
|
|
|
|
|
для: Unkind
(15.06.2007 в 21:57)
| | Кстати, проверочный скрипт Трианона, кажется не совсем корректно работает.
Формула
$max = floor(($l1*8 * 1.33 + 7)/8);
|
для строки длинной в 4 байта даёт 6, а не 5 . Как ожидается из предшествующих рассуждений.
Можно её заменить, например, на такую строку, может и более длинную, зато с более прозрачной логикой, как мне кажется.
$ll=$l1%4; $max = 5*(int)($l1/4) +(int)($ll*($ll+3)/($ll+1));
|
Отдельно вычисляется длина целых четвёрок байтов и длина остатка от деления на четыре. | |
|
|
|
|