Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

racunanje sa velikim brojevima

[es] :: Art of Programming :: racunanje sa velikim brojevima

[ Pregleda: 1997 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dragancesu
subotica

Član broj: 38340
Poruke: 2189
*.dynamic.isp.telekom.rs.



+73 Profil

icon racunanje sa velikim brojevima08.06.2012. u 09:18 - pre 144 meseci
Zadatak je da se napravi funkcija koja kontrolise broj tekuceg racuna prilikom unosa, to je kontrola po modulu 97. Na prvi pogleda trivijalno, podeliti broj sa 97 i naci ostatak deljenja. Problem je sto se deli 18-cifreni broj i tu ima problema. Ono sto lepo radi je do 15 cifara, vise od toga je problem. Video sam da ima resenja u excelu i slicnim, ali meni treba za clipper.

Ima li neko resenje za ovo? Jednom davno sam video da ima, pretrazujem internet ali ne nalazim

Pozdrav

Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: racunanje sa velikim brojevima08.06.2012. u 09:44 - pre 144 meseci
Iskoristi osobinu mod funkcije:

mod(a*b,m)=mod(mod(a,m)*mod(b,m))

Na primer, mod(100,97)=3, mod(1000,97)=mod(10*100,97)=mod(10*3,97)=30
mod(1000*1000,97)=mod(30*30,97)

Nađi funkcije mod97 za brojeve 1, 10, ..., pa onda sa tim faktorima množi cifre na odgovorajućim mestima u broju računa, saberi i opet nađi mod.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.3gnet.mts.telekom.rs.



+2789 Profil

icon Re: racunanje sa velikim brojevima08.06.2012. u 10:25 - pre 144 meseci
Code:
int mod(const char digits[], int size, int m)
{
    int result = 0;
    
    for (int i = 0; i < size; ++i) {
        result *= 10;
        result += digits[i] - '0';
        result %= m;
    }

    return result;
}


I sad to lepo pozoveš sa

Code:
int m = mod(digits, 18, 97)

Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

dragancesu
subotica

Član broj: 38340
Poruke: 2189
*.adsl.eunet.rs.



+73 Profil

icon Re: racunanje sa velikim brojevima08.06.2012. u 16:09 - pre 144 meseci
Hvala,
ako nekom treba postavicu clipper kod

Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
 
Odgovor na temu

[es] :: Art of Programming :: racunanje sa velikim brojevima

[ Pregleda: 1997 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.