IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Existuje datovy typ pro cislo co ma milion cifer?

Aktivity
Avatar
honza.b4
Člen
Avatar
honza.b4:6.4.2014 0:16

viz. nadpis.

 
Odpovědět
6.4.2014 0:16
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na honza.b4
Jan Vargovský:6.4.2014 0:22

Big Integer.

 
Nahoru Odpovědět
6.4.2014 0:22
Avatar
coells
Tvůrce
Avatar
Odpovídá na honza.b4
coells:6.4.2014 0:27

Používal jsem https://gmplib.org/

BigInteger (pokud v C++ je) určitě není dobrá volba pro 106 cifer.

 
Nahoru Odpovědět
6.4.2014 0:27
Avatar
honza.b4
Člen
Avatar
Odpovídá na coells
honza.b4:6.4.2014 0:35

Omlouvam se. Jsem zacatecnik. Mohl by jsi mi to prosim ukazat na prikladu jak by vypadala deklarace?

 
Nahoru Odpovědět
6.4.2014 0:35
Avatar
coells
Tvůrce
Avatar
Odpovídá na honza.b4
coells:6.4.2014 0:51

Není za co se omlouvat, každý nějak začíná.
viz https://gmplib.org/…n-6.0.0a.pdf
kapitola 5 obsahuje hezký úvod.

 
Nahoru Odpovědět
6.4.2014 0:51
Avatar
honza.b4
Člen
Avatar
Odpovídá na coells
honza.b4:6.4.2014 11:28

Pomuzes mi prosim tohle prepsat, aby to fungovalo? V te dokumentaci to nemuzu najit.

mpz_t vysledek;
mpz_init(vysledek);
vysledek += cisla[i]*pomoc;
 
Nahoru Odpovědět
6.4.2014 11:28
Avatar
coells
Tvůrce
Avatar
Odpovídá na honza.b4
coells:6.4.2014 11:55

viz kapitola 5.5

mpz_t vysledek;
mpz_init(vysledek);
// pokud cisla[i] a pomoc jsou inty, pak je staci pretypovat na unsigned long (kvuli preteceni)
mpz_add(vysledek, vysledek, cisla[i] * pomoc);

Případně viz kapitola 12, pokud je to C++

mpz_class a, b, c;

a = 0;
b = cisla[i];
c = pomoc;
a += b * c;
 
Nahoru Odpovědět
6.4.2014 11:55
Avatar
honza.b4
Člen
Avatar
Odpovídá na coells
honza.b4:6.4.2014 14:00

posledni veci co nevim :-D

mpz_t vysledek;
mpz_init(vysledek);
vysledek /= 10;

if((vysledek % 9) == 0){
prikazy;
}
Editováno 6.4.2014 14:04
 
Nahoru Odpovědět
6.4.2014 14:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.