Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zadania na liczbach
-Gość_piotrek-
post
Post #1





Goście







witam jest jakas funkcja która znajdzie na wieksze dzielnik dla danej liczby



np najwiekszym zielnikiem dla liczby 8 to 4 ( 8 : 8 to bez sens ) .. wie moze ktos o co mi chodzi
Go to the top of the page
+Quote Post
mdco
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 5
Dołączył: 14.12.2004

Ostrzeżenie: (0%)
-----


Nie wiem czy jest ale łatwo taką napisać, używając dzielenia modulo.


--------------------
zmoderowano - rozmiar
Go to the top of the page
+Quote Post
Pigula
post
Post #3





Grupa: Zarejestrowani
Postów: 446
Pomógł: 0
Dołączył: 5.03.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


to najlatwiej zrobic z algorytm Euklidesa gdzies na google to jest smile.gif
Go to the top of the page
+Quote Post
-Gość_piotrek-
post
Post #4





Goście







to znajduje dzielnik tylko dla 2 liczb ja chce tylko dla 1
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


WYmyslilem cos takiego:
X = liczba, rozpisujesz ja na czynniki pierwsze
Kod
X = 8
8 | 2
4 | 2
2 | 2
1 | =

pomijasz pierwsza 2ke z gory i mnozysz pozostale czynniki:
2 x 2 = 4.

X = 34
34 | 2
17 | 17
1   | =

max dzielnik = 17


chyba dziala, nie mialem czasu zeby blizej sie przyjzec i zastanowic.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Pigula
post
Post #6





Grupa: Zarejestrowani
Postów: 446
Pomógł: 0
Dołączył: 5.03.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


ej sorry jezeli chcesz jednej liczby to najwiekszym dzielnikiem jest ona sama przynajmniej tak mowia wszystkie prawa matematyczne!! zle sformulowales pytanie

Ten post edytował Pigula 19.04.2005, 07:30:02
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Najwiekszy dzielnik liczby to oczywiscie sama ta liczba, alo on napisal ze nie o to chodzi
Cytat
8 to 4 ( 8 : 8 to bez sens ) .. wie moze ktos o co mi chodzi


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
-Gość_piotrek-
post
Post #8





Goście







powiedzmy mam taką liczbę 3235235256363


przez co ja podzielic zeby wyszła mniejsza? przez najwiekszy jjej dzielnik jak to obliczyc.
Go to the top of the page
+Quote Post
kszychu
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Dla liczb parzystych to banał: dzielisz liczbę na 2 i już masz. Dla nieparzystych jest to bardziej kłopotliwe. Ja bym to sprawdzał w pętli, dzieląc tę liczbę przez kolejne, coraz to większe liczby pierwsze. Jeśli wynik dzielenia jest liczbą całkowitą, to mamy liczbę. Jesli nie, sprawdzamy dalej. Właściwie, to ten algorytm można rozciągnąć też na liczby parzyste.
Musisz tylko w pętli zaimplementować sobie jakiś algorytm generujący liczby pierwsze, bo trzymanie ich w tablicy, jakkolwiek szybkie, mogłoby okazać się niewystarczające.
No i może się zdażyć, że trafisz na liczbę pierwszą, a wtedy nie będzie ona posiadała dzielnika spełniającego Twoje oczekiwania.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
-Guest-
post
Post #10





Goście







ale jak 2 nie zawsze jest najwiekszym dzielnikiem
np wedlug Ciebie najwiekszym dzielnikiem dla 8 to 2? a dla mnie to 4 ( dzielenie prez samom siebie odpada z gry )
Go to the top of the page
+Quote Post
kszychu
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Cytat(Guest @ 2005-04-19 11:24:11)
ale jak 2 nie zawsze jest najwiekszym dzielnikiem
np wedlug Ciebie najwiekszym dzielnikiem dla 8 to 2? a dla mnie to 4 ( dzielenie prez samom siebie odpada z gry )

Nie zrozumiałes mnie. DZIELĄC PRZEZ 2 OTRZYMASZ NAJWIKSZY DZIELNIK! Masz przecież zależność; dzieląc liczbę przez jej najmniejszy dzielnik w wyniku otrzymasz jej największy dzielnik i odwrotnie.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
Pigula
post
Post #12





Grupa: Zarejestrowani
Postów: 446
Pomógł: 0
Dołączył: 5.03.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


do generowania liczb pierwszych to sie nadaje sito arystotelesa tu masz algorytm odrazu w php ale nie wiem czy nie bedziesz musial go przerobic do swoich potrzeb
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #13





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function getHighestDivider( $intNumber )
  3. {
  4. for ( $i = 0; $i < $intNumber; $i++ )
  5. {
  6. if ( $intNumber % $i === 0 )
  7. {
  8. return $intNumber / $i;
  9. }
  10. }
  11. }
  12. ?>

// algorytm krzycha


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
kszychu
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Cytat(dr_bonzo @ 2005-04-19 18:33:01)
// algorytm krzycha

@dr_bonzo: niezupełnie. W moim założeniu było dzielenie nie przez kolejne liczby aż do $intNumber, a przez kolejne LICZBY PIERWSZE aż do $intNumber. Reszta jest taka jak w moich założeniach.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 00:30