Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][algorytm]Obliczenia matematyczne.
sadistic_son
post 29.09.2010, 23:28:59
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Witam,

Temat moze jest troche offtopic dlatego nie obraze sie (bardzo) jak zostanie zamkniety albo usuniety ale.....
Jak obliczyc, jakich uzyc matematycznych funkcji, badz algorytmu aby sprawdzic wynik pewnego zagadnienia.
Mamy plansze skladajaca sie z 225 pol. Jest 2 graczy ktorzy naprzemiennie zajmuja po jednym polu. Chcialbym dowiedziec sie ile jest mozliwosci rozegrania partii. Oczywiscie kolejnosc zajmowanych pol ma znaczenie.
Wprawdzie pisalem mature z maty ale to bylo jeszcze w XXw. wiec nie pamietam nawet jakiego hasla uzyc u wujka G aby sie czegos zaczepic.
Dopiero jak poznam metode obliczenia tego to zabiore sie za ukladanie algorytmu i programowanie komputerowego przeciwnika.

PS. Wiekszosc zna ta gre ale nie powiem co to winksmiley.jpg

Ten post edytował sadistic_son 29.09.2010, 23:31:57


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
darko
post 30.09.2010, 05:09:51
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


http://pl.wikipedia.org/wiki/Kombinacja_be...%C3%B3rze%C5%84

// edit
strzelam na ślepo z sympatii do Ciebie krwiopijco :-), być może uniknę kompromitacji biggrin.gif bo maturę z matmy zdawałem jeszcze wcześniej od Ciebie

Ten post edytował darko 30.09.2010, 05:16:35


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
sadistic_son
post 30.09.2010, 15:44:53
Post #3





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Tak, to jest to. Dzięki:)
Jednakże istnieje ponad 50 miliardów możliwości rozegrania partyjki, chyba niemożliwe będzie ułożyć sprawny algorytm sad.gif
W razie jakby się przydało zamieszczam kod obliczający C ze wzoru na kombinację bez powtórzeń. Pisałem go na szybko więc jest trochę bałagan i może są jakieś zbędne zmienne ale działa poprawnie.
  1. $n=intval($_POST['n']);
  2. $k=intval($_POST['k']);
  3. // n musi byc >= k i obie musza byc liczbami naturalnymi, czyli dodatnie nieulamki.
  4. $w=1;
  5. for($i=1;$i<=$n;){
  6. $w++;
  7. $w=$i*$w;
  8. $i++;
  9. }
  10. $n_=$w;
  11.  
  12. $w=1;
  13. for($i=1;$i<=$k;){
  14. $w++;
  15. $w=$i*$w;
  16. $i++;
  17. }
  18. $k_=$w;
  19.  
  20. $w=1;
  21. $nk=$n-$k;
  22. for($i=1;$i<=$nk;){
  23. $w++;
  24. $w=$i*$w;
  25. $i++;
  26. }
  27. $nk_=$w;
  28.  
  29. $c=$n_/($k_*$nk);


Ten post edytował sadistic_son 30.09.2010, 15:47:48


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
flashdev
post 30.09.2010, 15:53:59
Post #4





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Wydaje mi się, że @darko się pomylił. Bo jeśli rozmawiamy o krze kółko i krzyżyk (plansza 15x15), to nie będzie aż tyle możliwych rozwiązań.
Wiele z tych układów wynikających z kombinacji bez powtórzeń nigdy nie wystąpi, ponieważ gra wcześniej się zakńczy.
Nie widzę w swojej głowie (za małą mam głowę) jakiegoś sprawnego algorytmu do obliczenia tego.
Jedyne co mi przychodzi na myśl, to to że końcowy wynik można podzielić przez 4 a następnie przez 2, co wynika z rotacji oraz odbicia lustrzanego odpowiednio.

Co do Twojego kodu @sadistic_son to co robisz w pętli da się zrobić w jednej linijce odpowiednim wyrażeniem. Szukaj pod hasłem 'iloczyn ciągu arytmetycznego'.


--------------------
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:25