[LUGOS-PROG] bijektivna preslikava iz stringa v int
Ales Casar
casar at uni-mb.si
Wed Jan 9 16:15:59 CET 2002
On Wed, 9 Jan 2002, [iso-8859-2] Uro=B9 Gaber wrote:
> Lahko se pa spodnjo funckijo malce priredi in potem je vedno razlicna
> cifra...
To vsekakor...
> function genKey(key: string): integer;
> var keyc: integer;
> begin
> for i:=3D1 to length(key) do
> keyc:=3Dkeyc+ord(key[i])*i;
> genKey:=3Dkeyc;
> end;
>
> exampli:
> genKey('ab') --> 293
> genKey('ba') --> 292
Samo tako pa ze ne! Si poskusil izracunati recimo genKey('bb') in
genKey('da')?
Slo bi recimo takole:
function genKey(key: string): integer;
var keyc: integer;
begin
keyc :=3D 0; { Spremenljivke je koristno inicializirati pred prvo uporab=
o. }
for i :=3D 1 to length(key) do
keyc :=3D 256 * keyc + ord(key[i]);
genKey :=3D keyc;
end;
Seveda to ne bi slo za kaj posebej dolge stringe.
Ales
--=20
Ales Casar | InterNet: Casar at uni-mb.si, A.Casar at ieee.org,
Faculty of EE & CS | A.Casar at s-gms.ms.edus.si
University of Maribor | DECnet: RCUM::ALES
SLOVENIA | WWW: http://www.el.feri.uni-mb.si/~ales/
More information about the lugos-prog
mailing list