50 cyfr prograM
50 cyfr prograM
Rozwiązanie dla php - umożliwia dodawanie dowolnej długości liczb, nie muszą mieć tej samej długości. Zmienne z liczba,mi są zadeklarowane na początku, ale można je równie dobrze przekazać przez GET albo POST. Skrypt napisany na poczekaniu, ale powinien działać
//EDIT: drobna poprawka w kodzie ...
Kod: Zaznacz cały
<?php
$a = '55';
$b = '22';
if(strlen($a) == strlen($b)) {
$var1 = $a;
$var2 = $b;
} else {
$var1 = (strlen($a) > strlen($b)) ? $a : $b;
$var2 = (strlen($a) < strlen($b)) ? $a : $b;
}
$var2 = str_pad($var2, strlen($var1), '0', STR_PAD_LEFT);
$next = 0;
for($i=(strlen($var2)-1); $i>=0; $i--) {
$res = $var1[$i] + $var2[$i] + $next;
settype($res, 'string');
if($res>9) {
$add = $res[1];
$next = $res[0];
} else {
$add = $res;
$next = 0;
}
$total .= $add;
}
$total = ($next == 0) ? strrev($total) : $next . strrev($total);
echo $total;
?>
Ostatnio zmieniony 3 maja 2005, o 21:48 przez excumbed, łącznie zmieniany 2 razy.
50 cyfr prograM
A czy da się zrobić tak, żeby po wejściu na stronę kliknąć (np. na jakiś link) i rozpocząć oeracje na jakiś dużych liczbach, zamknąć stronę i następnego dnia po wejściu na stronę obejrzeć rezultat działania z poprzedniego dnia Troszki zagmatwałem . Jeżeli ktoś nie zrozumiał to spróbuje prościej: jak zrobić żeby po uruchomieniu skryptu i zamknięciu strony działania w skrypcie nadal się wykonywały, a po zakończeniu zapisały np. do pliku.
-
- Użytkownik
- Posty: 335
- Rejestracja: 21 sty 2005, o 13:51
- Płeć: Mężczyzna
- Lokalizacja: Wrocław / Suchedniów
- Pomógł: 2 razy
50 cyfr prograM
MakFly, nie da się tak, musisz mieć otwarte okno przeglądarki żeby skrypt się wykonywał, jeśli skrypt ma się wykonywać ponad 60 sekund to nie zapomniej przestawić limitu czasowego, i po trzecie php jest małowydajny jeśli chcesz coś naprawdę dużego zrobić.... najlepiej to byłoby c++
50 cyfr prograM
ok. chodziło mi czy coś takiego da się zrobić, bo kiedyś na jakiejś stronie widziałem coś takiego: wprowadzasz zaszyfrowane hasło (hash) i za kilka dni (ewentualnie kilka godzin) wchodzisz ponownie i masz hasło. Więc jak to działa Na pewno nie wykorzystuje kontrolki ActiveX (jeżeli za jej pomocą dałoby się to osiągnąć )
50 cyfr prograM
Jeżeli masz shella lub hosting z jakimś panelem (DA/cpanel) to możesz ustawić cron'a aby skrypt sam się odpalił i wykonał o danej godzinie. Ale imho jak już masz shella to lepiej to napisać w jakimś "normalnym" do tego języku ;]
50 cyfr prograM
znasz jakiś DARMOWY hosting, który oferuje cron'a Co masz na myśli pisząc normalnym języku Chodzi Ci o C++ Jak uruchomić program napisany w C++ na jakimś koncie WWW, żeby zrobił to co pisałem wcześniej.
-
- Użytkownik
- Posty: 123
- Rejestracja: 8 wrz 2004, o 22:17
- Płeć: Mężczyzna
- Lokalizacja: Łowicz
- Podziękował: 2 razy
50 cyfr prograM
W Javie z działaniem na dużych liczbach nie ma problemu, ponieważ w standardowej biblitece są klasy: BigInteger i BigDecimal, odpowiednio do działań na dowolnie dużych liczbach całkowitych i zmienno pozycyjnych. Dzięki temu dodawanie liczb zajmuje tylko linijkę :
Wniosek: Uczcie się Javy
Kod: Zaznacz cały
String s = "23423453454234521345458475845945454312";
String s2 = "23127667865486463424525784900434252452452";
BigInteger result = new BigInteger(s).add(new BigInteger(s2));
50 cyfr prograM
droopy problem właśnie w tym że nie moge na swoim kompie zarzucić ani serera, ani samego programu. Proszę o pomoc w tym co podałem.
Gambit ale w Javie są też funkcje do mnożenia, dzielenia, dzielenia modulo itd. I napisz jak szybko działałby taki skrypt, na pewno o wiele wolniej niż np. w C++ operując na stringach
Gambit ale w Javie są też funkcje do mnożenia, dzielenia, dzielenia modulo itd. I napisz jak szybko działałby taki skrypt, na pewno o wiele wolniej niż np. w C++ operując na stringach
-
- Użytkownik
- Posty: 335
- Rejestracja: 21 sty 2005, o 13:51
- Płeć: Mężczyzna
- Lokalizacja: Wrocław / Suchedniów
- Pomógł: 2 razy
50 cyfr prograM
a jaki ty program chcesz zrobić?
bo jeśli chodzi o darmowe konta, to wcale bym się nie zdziwił, gdyby nie dało się np. przedłużyć czasu wykonywania skryptu, albo gdyby cie wywalili za takie długie zajmowanie serwera....
bo jeśli chodzi o darmowe konta, to wcale bym się nie zdziwił, gdyby nie dało się np. przedłużyć czasu wykonywania skryptu, albo gdyby cie wywalili za takie długie zajmowanie serwera....
-
- Użytkownik
- Posty: 123
- Rejestracja: 8 wrz 2004, o 22:17
- Płeć: Mężczyzna
- Lokalizacja: Łowicz
- Podziękował: 2 razy
50 cyfr prograM
Jasne.MakFly pisze: Gambit ale w Javie są też funkcje do mnożenia, dzielenia, dzielenia modulo itd.
Program, a nie skrypt - Java to nie język skryptowy. Klasy matematyczne i same działania matematyczne są w Javie b. zoptymalizowane (klasy np. wykorzystują natywne biblioteki napisane w C), a więc poślizg wynosi nie więcej niż 1,5-2x. A poza tym klasy BigInteger i BigDecimal wewnętrznie nie operują na String'ach.MakFly pisze: I napisz jak szybko działałby taki skrypt, na pewno o wiele wolniej niż np. w C++ operując na stringach