Re: кАк таки решить ?
- From
- Andrew Ezhguroff ()
- To
- Boris Pihtin
- Date
- 2002-12-12T06:28:43Z
- Area
- RU.ALGORITHMS
From: "Andrew Ezhguroff" <eandr@com2com.ru>
Привет! "Boris Pihtin" <Boris.Pihtin@f408.n469.z2.fidonet.org> сообщил(а):
BP> Надо это сделать с помощью математических преобразований без проверок
BP> ...
Какие именно математические преобразования допустимы? Если есть ф-ция SIGN,
то можно, например, так:
a1:=x div 1000;
a2:=(x div 100) mod 10;
a3:=(x div 10) mod 10;
a4:=x mod 10;
x1:=1-sign((a1+a2*10+a3*100) mod 111);
x2:=1-sign((a1+a2*10+a4*100) mod 111);
x3:=1-sign((a1+a3*10+a4*100) mod 111);
x4:=1-sign((a2+a3*10+a4*100) mod 111);
Result:= (x1+x2+x3+x4) mod 3;
Кстати, последняя строчка решает проблему четверки в варианте Oleg V.Cat.
С уважением, Андрей.
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)