Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Помогите сгенерировать на PHP |

01.06.2010, 13:02
|
|
Участник форума
Регистрация: 01.01.2009
Сообщений: 138
Провел на форуме: 817404
Репутация:
82
|
|
Помогите сгенерировать на PHP
нужно задать функцию перевода в систему счисления со своими символами
типа я задаю символы "q 6 f 8"
тогда число 3 будет выглядеть как "f" а 4 как "8"
типа кудато сюда копать
PHP код:
function gen($a)
{
$alf = 'A B C D E F G H I K L M N O P Q R S T V X Y Z';
$malf = explode(' ', $alf);
$count = count($malf);
while(пока не поделим всё число){
$div = $a / $count;
$div = substr($div, 0, strrpos($div, ','));
$mod = $a % $count;
вышитываем символ...
{
}
echo gen(3255);
или может есть другой путь?
|
|
|

01.06.2010, 13:30
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Vlad&slav четче сформулируйте задание. О каких числах идет речь? Требуется сделать простую замену всех цифр на некторый набор символов? То есть на входе например "1331" А на выходе будет "acca"?
Тогда читайте про функцию strtr:
PHP код:
$val = 1331;
echo strtr((str) $val, '0123456789', 'abcdefghij');
// Или если требуется заменять только некоторые символы:
echo strtr((str) $val, array('1' => 'a'));
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

01.06.2010, 13:45
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Он имеет ввиду в 16-ой системе 0-9A-F, в 17-ой 0-9A-G и так далее
http://www.cyberforum.ru/cpp-beginners/thread65570.html
решение на си сойдет?)
Последний раз редактировалось Chaak; 01.06.2010 в 14:13..
|
|
|

01.06.2010, 13:51
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Гифтс, не
К примеру, в двоичной системе набор такой: "0 1"
В восьмиричной: "0 1 2 3 4 5 6 7"
В шестнадцатиричной: "0 1 2 3 4 5 6 7 8 9 A B C D E F"
ТСу надо задавать такой набор своими символами и переводить в свою такую систему.
Вообще, код там прост, но писать так влом 
|
|
|

01.06.2010, 14:16
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
То как говорит Chaak:
PHP код:
echo base_convert((int) $val, 10, 36);
Как говорит wildshaman
PHP код:
function some_trash($val, $from=10 ,$base=-1, $replacement='ABCDEFGHIKLMNOPQRSTVXYZ!"№;%:?*()')
{
$base = $base <= 0 ? count($replacement) : $base;
if (strlen($replacement)<$base) return false;
$tr_from = substr('0123456789ABCDEFGHIKLMNOPQRSTVXYZ', 0, $base);
return strtr((string) base_convert($val, $from, $base), $tr_from, $replacement);
}
echo some_trash(50, 10, 16);
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

01.06.2010, 14:17
|
|
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
Провел на форуме: 473495
Репутация:
39
|
|
Возьми код какого-нибудь укорачивателя ссылок, они по схожей системе работают...
|
|
|

01.06.2010, 14:21
|
|
Участник форума
Регистрация: 27.04.2009
Сообщений: 189
Провел на форуме: 1141766
Репутация:
69
|
|
Сообщение от OdaN
Возьми код какого-нибудь укорачивателя ссылок, они по схожей системе работают...
Мне почему-то кажется, что это тут вообще ниочем 
|
|
|

01.06.2010, 15:26
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Сообщение от Gifts
То как говорит Chaak:
PHP код:
echo base_convert((int) $val, 10, 36);
Как говорит wildshaman
PHP код:
function some_trash($val, $from=10 ,$base=-1, $replacement='ABCDEFGHIKLMNOPQRSTVXYZ!"№;%:?*()')
{
$base = $base <= 0 ? count($replacement) : $base;
if (strlen($replacement)<$base) return false;
$tr_from = substr('0123456789ABCDEFGHIKLMNOPQRSTVXYZ', 0, $base);
return strtr((string) base_convert($val, $from, $base), $tr_from, $replacement);
}
echo some_trash(50, 10, 16);
Ну, перевести в другую систему счисления используя свой алфавит
|
|
|

01.06.2010, 19:28
|
|
Участник форума
Регистрация: 01.01.2009
Сообщений: 138
Провел на форуме: 817404
Репутация:
82
|
|
Задача была как сказал шаман,
объясните пожалуйста алгаритм
|
|
|

01.06.2010, 21:46
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Vlad&slav с помощью base_convert переменная преобразуется к нужной системе счисления. Дальше командой strtr символы полученного числа преобразуются соответственно со строкой замены ($replacement).
Например $replacement = 'abcdefghijklm' тогда 0 будет заменен на а, 1 на b и так далее
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Помогите найти php скрипт
|
z0mbyak |
PHP, PERL, MySQL, JavaScript |
1 |
16.05.2010 12:43 |
|
FREE HOSTS [Бесплатный Хостинг]
|
Fristail |
ПО для Web разработчика |
8 |
27.11.2009 12:06 |
|
Помогите с отправкой почты (php)
|
geforse |
PHP, PERL, MySQL, JavaScript |
9 |
04.01.2009 10:10 |
|
Php галерея (помогите найти)
|
a1nt |
PHP, PERL, MySQL, JavaScript |
9 |
09.03.2007 13:37 |
|
Помогите по php Скрипту
|
XIII |
Разное - Покупка, продажа, обмен |
2 |
05.12.2006 02:43 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|