![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jak obliczyć ile sto silnia ma zer?
Kiedyś miałem taki problem i nie mogłem go rozwiązać za pomocą kompa, musiałem ręcznie. Może wy znacie jakiś sposób ![]() [Edited: zmieniłem tytuł wątku, scanner] -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
a w jaki sposób zrobiłeś to ręcznie? jak się da zrobić na papierze to na pewno da się napisać algorytm...
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
rekurencja + przeszukanie wyniku (ile zer)
Ten post edytował shpyo 16.10.2004, 18:03:08 -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#4
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
shpyo: a testowałeś ten kod? bo mi się wydaje że są pewne ograniczenia co do długości liczby typu integer
a ręcznie te robiłem tak ![]() mój kalk oblicza maksymalnie 17 silnia czy coś takiego, później daje notacje wykładniczą, więc brałem końcówke i mnożyłem ją przez kolejne liczby a ilość zer zapisywałem na kartce ![]() -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
testowałem, wyszło mi 20
![]() ale nie mam pojęcia jak ta liczba wygląda ![]() -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
jeśli chodzi o liczbby to integer ma ograniczenia ale zawsze zostaje float a większymi limitami
![]() mi się zdawało że kod bezpośrednio obliczający będzie się dosyć wolno uruchamiał i/lub powodował błędy, ale skoro działa to ok ![]() jak napiszesz algorytm to przerzucienie go do php to banal ![]() ![]() -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Cytat(bela_666 @ 2004-10-16 19:26:04) a ręcznie te robiłem tak ![]() mój kalk oblicza maksymalnie 17 silnia czy coś takiego, później daje notacje wykładniczą, więc brałem końcówke i mnożyłem ją przez kolejne liczby a ilość zer zapisywałem na kartce ![]() hmmm, to z matematycznego punktu widzenia takie coś jest poprawne? jak na mój rozum, to mnożenie części liczby (końcówki) nic nie da. A co jeżeli po pomnożeniu n*(n+1) gdzieś na początku pojawiło się zero (baaa, lub nawet zniknęło)? ![]() -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#8
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
końcówka czyli jak miałem 3123178300 to zapisywałem zera i brałem 83 i dalej mnożyłem wyszło dobrze, lunter u ciebie wychodzi 17 wynik jest inny
![]() -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
właśnie sprawdzałem dla 1000, no i skrypcik Twój wymięka
![]() -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#10
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
z tego co pamiętam to jest 24 albo 26
![]() -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
no to moze dasz zrodlo tego skryptu
-------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
to mój skrypt działa nawet dobrze... a teraz będzie jeszcze lepiej
![]() ![]() Ten post edytował shpyo 18.10.2004, 09:05:48 -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Hmm, sorri. Dla mnie szukanie i takich, i takich nie ma sensu. Tak czy inaczej - sadzialem, ze bardziej chodzi tu o poprawne obliczenie silni - a to jest OK.
Ale z ciekawosci - wyjasnij mi, jaki jest sens z punktu widzenia matematycznego szukanie zer za cyframi znaczacymi? Ten post edytował netzah 19.10.2004, 09:14:39 |
|
|
![]()
Post
#15
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
chciałem wiedzieć jak to zrobić w php, bo na kartce to zrobię, ale kiedyś miałem z tym problem
![]() -------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Napisane na podstawie przykładu z książki "php 4. Tworzenie stron WWW. Ćwiczenia praktyczne" autorstwa Andrzeja Kierzkowskiego (wyd. Helion).
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
mam jeszcze jedno pytanie (bo chyba przespałem tą część
![]() @Tiraeth: ja już podałem funkcję (baaa, nawet jest rekurencyjnie). pozdro, shpyo -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Tiraeth @ 2004-10-19 19:54:31) for($i=0; $o<=$n; $i++) Jesteś pewny że ta książka jest godna polecenia? ![]() ![]() ![]() A z tymi zerami i cyframi znaczącymi to was nie rozumiem... liczymy silnię czy szacujemy rząd wielkości? Bo jak szacujemy to może lepiej zacząc od jakiegoś przybliżenia silni? |
|
|
![]()
Post
#19
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
ile silnia z x ma zer? Nic prostszego. Pomyśl, kiedy powstaje zero:
- gdy mnożysz razy coś z końcówką 0 - gdy mnożysz razy coś z końcuwką 5-1 (ew. 5+1, jeżeli robisz od tyłu) a zaraz potem coś z końcówką 5 (a to czemu?) Bo np. mnożenie x*5 *4= x *20, czyli mnożenie przez liczbe z końcówką 0. Zauważ, że zara się nie cofają. tak więc raraz po prostu policz ile razy będziesz mnożył razy liczbę z końcówką 0 i razy 5 Tak więc zer będzie: 5, 10, 15, 20, 25 (dwa zera, bo 24*25= 600), 30, 35, 40, 45, 50 (dwa zera, bo na końcu jest i 5 i 0), 55, 60, 65, 70, 75 (dwa zera, bo, 75*76=5700) 80, 85, 90, 95, 100 (dwa zera) W sumie 24 zera! Pamiętaj, żeby coś wyliczyć w php musisz wiedzieć jak to wyliczyć naprawdę Czyli taki algorytm wyglądałby mniej więcej (nie chce mi się teraz robić dokładnego matematycznego wywodu) tak: dla <100 -> 23 zera dla >=100 i <1000 -> 23 + 10 na każdą setkę dla >=1000 i <10000 -> 23 + 20 na każdą setkę albo po prostu liczysz tak: robisz pętlę od 5, potem + 5 i tak aż do liczby mniejsze lub równej tej, dla której liczysz silnie. for(x=5;x<=TWOJALICZBA;x+=5){...}; Dla każdej liczby liczysz + 1 jeżeli końy się na 0 (dla każdego zera + 1), 5 (tylko raz +1, nawet jeżeli jest np licznik 5555) lub 5 (wtedy kilka razy +1, bo za każde 0 i za 5) jest ostatnią cyfrą przed zerem. A jeżeli ostatnimi cyframi (ew. ostatnimi przed zerem) są 75 lub 25 to doliczasz dwa zera (i oczywiście za każde 0 +1). No, to by było na tyle. I pamiętaj, rzeby coś zrobić na komputerze musisz to najpierw umieć zrobić ręcznie. |
|
|
![]()
Post
#20
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
@Jabol: moja matematyczka w szkole liczyła tym sposobem i wyszło jej 22
![]() ![]() A kto powiedział, że nie zrobiłem ręcznie ![]() Ten post edytował bela_666 20.10.2004, 18:29:51 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 01:54 |