[ Jcod3r @ 11.11.2007. 12:07 ] @
Pozdrav !
Zadatak: Imamo x = 10864 i y =18817 treba izracunati Res= 9 * x^4 - y^4 + 2 * y^2

Da li sam postavio kako treba?

Code:

#include <stdio.h>
#include <math.h>

int main(void)
{
    int long x = 10864 ;
    int long y = 18817 ;
    int long leRes ;
    
    leRes = 9 * pow( x,4 ) - pow( y,4 ) + 2 * pow( y,2 );
    
    printf("Le resulat est %d\n ", leRes);
    
}


Rezultat mi je 2
[ X Files @ 11.11.2007. 13:04 ] @
Pretpostavljam da su brojevi isuviše veliki za smeštanje u ugrađene C/C++ tipove.

P.S.

Radi li za manje brjeve?
[ Jcod3r @ 11.11.2007. 17:55 ] @
Nisam ni pokusavao jer x i y su explicitno zadani.

Hvala :)
[ xeron @ 12.11.2007. 17:12 ] @
Taj problem mozes rijesiti dodavanjem dodatne biblioteke. Postoji besplatna biblioteka GMP koja između ostalog rješava i taj problem.

Citat:

GMP is a free library for arbitrary precision arithmetic ... There is no practical limit to the precision except the ones implied by the available memory in the machine GMP runs on
Mislim da ce ti ovo biti dovoljno precizno :)

Mozes je skinuti sa : http://gmplib.org/
[ Jcod3r @ 12.11.2007. 22:12 ] @

Hvala buraz :)

[ perun_ @ 13.11.2007. 14:03 ] @
Zar taj broj ne bi trebalo da "upadne" u opseg double
[ Jcod3r @ 13.11.2007. 21:03 ] @
Da u <double> treba da "upadne" :) jer u math.h sintaksa za <pow> je (double x, double y) ;
[ Aleksandar Gajic @ 22.01.2009. 18:48 ] @
Znam da je ovo malo zastarelo, ali imam problem....
Imam zadatak da napravim program koji ce da koristi cele brojeve duzine do 1000 cifara... Nije to ceo zadatak, ali je jedini problem koji susrecem taj, sto ne znam kako da radim sa brojevima od npr 200 cifara?
Na nekoliko mesta sam vidjao GMP kao preporuku, ali ne znam kako da ga instaliram na windows, s' obzirom da je sve prilagodjeno linux-u...