X
ďťż

[PHP] Duże liczby

       

Podstrony


telcocafe

Proste pytanie: Jak obsłużyć duże liczby w php. Duże czyli takie rzędu 1013 W manualu pisze, że typ Integer pomieści liczby do około 2 bilionów. Wykonuje zadania na hs.spoj.pl (BTW polecam licealistom i nie tylko) i do zadania Shopping for points potrzebuje takich liczb. Narazie nikt nie zrobił tego zadania w PHP więc może będę musiał spróbować w fpc...

Z góry dziękuję za pomoc.

//EDYCJA
BCMath Arbitrary Precision Mathematics
Myślałem, że na spoj-u tego nie ma (pisało, że jest domyślnie wbudowane w windowsową wersję), ale wpadłem na pomysł żeby wkleić tam taki kod:
<?php if(function_exists('bcadd')){ exit; } else{ $lol = file_put_contents('lol'); } ?>
Jeżli istniałaby ta funkcja dowiedziałbym się, że złożyłem złą odpowiedź, jeżeli nie - że mam Runtime Error - Non-zero error code. :) Oczywiście była zła odpowiedź. BTW zapraszam do udziału w tym konkursie.
//EDYCJA 2

Jednak nie jest tak kolorowo.. Używając dzielenia (bcdiv) i modulo(bcmod) dzieląc przez zmienną wyskakuje błąd o dzieleniu przez 0. Przed tą fukcją ustawiam sobie echo($dzielnik) i wyskakuje mi ta liczba która powinna. Co więcej jeżeli ponownie zadeklaruje tą zmienną przed wywołaniem funkcji na identyczną wartość jak miała na początku wszystko działa. Oczywiście takie rozwiązanie nie wchodzi w rachubę bo wymuszało by stałą wartość zmiennej. Oczywiście gdzy dziele potem przez tą samą liczbę muszę ją znowu zadeklarować... O co chodzi?!
Użytkownik kokoss15 edytował ten post 28 wrzesień 2008, 20:06


Sprawdź var_dump'em jaki zmienna ma typ, może na tym się haczy ?

Na SPOJu nie widze co program wyrzucil na wyjsciu i tu jest problem.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.

    Drogi uzytkowniku!

    W trosce o komfort korzystania z naszego serwisu chcemy dostarczac Ci coraz lepsze uslugi. By moc to robic prosimy, abys wyrazil zgode na dopasowanie tresci marketingowych do Twoich zachowan w serwisie. Zgoda ta pozwoli nam czesciowo finansowac rozwoj swiadczonych uslug.

    Pamietaj, ze dbamy o Twoja prywatnosc. Nie zwiekszamy zakresu naszych uprawnien bez Twojej zgody. Zadbamy rowniez o bezpieczenstwo Twoich danych. Wyrazona zgode mozesz cofnac w kazdej chwili.

     Tak, zgadzam sie na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerow w celu dopasowania tresci do moich potrzeb. Przeczytalem(am) Polityke prywatnosci. Rozumiem ja i akceptuje.

     Tak, zgadzam sie na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerow w celu personalizowania wyswietlanych mi reklam i dostosowania do mnie prezentowanych tresci marketingowych. Przeczytalem(am) Polityke prywatnosci. Rozumiem ja i akceptuje.

    Wyrazenie powyzszych zgod jest dobrowolne i mozesz je w dowolnym momencie wycofac poprzez opcje: "Twoje zgody", dostepnej w prawym, dolnym rogu strony lub poprzez usuniecie "cookies" w swojej przegladarce dla powyzej strony, z tym, ze wycofanie zgody nie bedzie mialo wplywu na zgodnosc z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.