Елена Б.
6863 сообщения
#12 лет назад
frig, так я же и написала, сама бы разбивала на разряды путем деления на круглые числа. Но объяснить это на пальцах сложно.
Елена Б.
6863 сообщения
#12 лет назад
Цитата:
вот только понять суть и эффективность способа сразу не получается.

Наверное потому, что они конвертируют в числа символы шестнадцатиричной системы (100/15 * (число от 0 до 15)). В десятичной системе это было бы цифра*10. Но вам же нужен меньший шаг? Поэтому надо брать по две цифры.
Евгений О.
2989 сообщений
#12 лет назад
Если секретность не интересует, можно придумать немало обратимых не сложных алгоритмов шифрования используя только целые числа.

k = rand(0, 99);
new_num =100 - num_image - k;

k = rand(0, 99);
Например для картинки №11 и k=7 получим 82
Собираем полный id
(Id_user)(82)(07)

while k = 7 do k = rand(0, 99); - это чтобы обеспечить уникальность
Для картинки №12 и k=2 получим 86
Собираем полный id
(Id_user)(86)(02)

и т.д.

Получится достаточно случайная последовательность, а k нужно подсовывать, чтобы можно было из id восстановить исходный номер картинки и 100% уникальности.
Сергей Ш.
293 сообщения
#12 лет назад
Всё таки решил делать со строкой, спасибо всем за помощь)
var pars:String = (String(99999999999999 / int(idUser)*int(selectItem)).replace(, '')); 		
for (var i:int = 0; i < 7; i++ ) {
var par:int = 100;
if (pars.charAt(i * 2 + 1))
par=100+(int(pars.charAt(i * 2) + pars.charAt(i * 2 + 1))*1.5);