[elektro] matek
Papp Zoltán
zombi at c2.hu
Fri Aug 27 00:09:13 CEST 2010
2010.08.23. 09:52:35 dátumon vajk fekete <halaloszto at yahoo.co.uk> írta:
> veszel egy 1-et. 10-el szorozgatod addig, amig nagyobb nem lesz a szamnal. ha
> nagyobb lett, akkor eloveszed az elozot, es kivonod belole. ha az elso jegy nem
> biztos hogy egyes, akkor kivonod annyiszor, hogy amig kisebb nem lesz (tehat
> amig a kivonas negativot nem adna)
>
> vajk
Most olvastam a topicot, én ezt csináltam volna:
//definíció:
ulong x; //eredeti szám
//helyiérték megkeresése:
for (ulong i=(ulong)1e9;i>=x;i/=10);
//kivonás, ha biztos, hogy mindig 1 az első szám:
x-=i;
//kivnás, ha nem biztos, hogy 1 az első szám:
while(i>=x) x-=i;
Persze sok függ attól, mire kell optimalizálni. De szerintem gyorsabb, mint a stringgé alakítás. Legalábbis ugyanolyan gyors. Mindkettőben a 10-el osztás a legbonyolultabb.
Üdv
--
Papp Zoltán
OneWay Electronics Kft
Hangszerviz
szkájp: oneway[aláhúzás]papp[aláhúzás]zoltan
More information about the Elektro
mailing list