Нет, тогда можно просто первое записать, так как когда | то получается во всех трех случаях первый верен и выдаст true!
Надо что-то вроде со знаком вопроса '?' кажеться!
//а двацдать записываеться вот так - 1 0, потом опять:
11
111
1111
11111
15
151
...
...
555115551111//359 (5*20*3)+(1*20*2)+(5*1*3)+(1*1*4), максимальное во втором разряде потом идет
100// (1*20*18)=360
101
//и остальные разряды 20-ричные опять
DelphinPRO пишет:
у UNTRUSTED все задачки мутные
Легких путей не ищем
(Добавление) В первом разряде 20 знаков вместе с нулём, наибольшая цифра - 19. Вес первого разряда равен 1. Это разряд единиц.
Во втором разряде 18 разрядов вместе с нулём, наибольшая цифра 17. Вес второго разряда равен 20. Это разряд двадцаток.
В третьем разряде опять 20 знаков вместе с нулём, наибольшая цифра 19, но "вес" цифры равен 360 (18*20), а не 400, как было бы в правильной 20-иричной системе.
Незнаю как правильно объяснить, но попробую!
Допустим мы переводим из 20-ричного основания в 10-ричное, это, просто.. Но есть одно но: 3-й разряд не 20-ричный, а 18-ричный! Как реализовать? Все перепробовал, не получаеться
$char=$k[$sym];//выбираем каждое число из данного разряда
$dec+=($char*$d);//и прибавляем его, умножая на основание разряда
}
if($i==2)//третий разряд
{
$d*=18;//если то умножаем на 18
}else{
$d*=20;//во всех остальных случаях на 20
}
}
?>
Вот что то вроде этого (Добавление)
ну и соответственно разряды записываються через пробел, а остальные - непозиционные, и просто складываються между собой!
##Если( ((А меньше 1 или А больше 10) и А не равно 50){, то функция должна вернуть вот это('ОШИБКА');}
Хотите сказать А не может быть либо меньше одного, либо больше 10??? Кому тогда в школу надо!
Даже для подтверждения, я вам вот такую функцию напишу, проверьте сами!
Но я разобрался...
Нужно в вашем коде
заменить посередине && на ||
что бы было вот так:
((a>1&&a<10)||a==50)||((b>1&&b<10)||b==50)
и тогда все работает