Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak zwrócić wszystkie kombinacje rozłożenia X osób w Y grupach
radiopraca
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 7.02.2014

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


Witam serdecznie,

Siedzę od kilku godzin na pewnym skryptem, ale bez skutecznie więc postanowiłem poprosić o pomoc ekspertów.

Chciałbym napisać funkcję która zwróci mi wszystkie możliwe kombinacje rozłożenia X osób w Y grupach.
Funkcja musiałaby być uniwersalna i obsługiwać dowolne wartości X i Y.

Na przykład: 3 osoby można rozłożyć w 2 grupach na 8 sposobów:
0, 123 (0 osób w pierwszej grupie, osoby: 1, 2 i 3 w drugiej grupie)
1,23 (Osoba: 1 w pierwszej grupie, osoby 2 i 3 w drugiej grupie)
2,13
3,12
12,3
13,2
23,1
123,0

(...)

Kodu właśnie nie mam jeszcze bo nie wiem jak się za to zabrać.
Myślałem coś o rekurencji, ale nie mam pojęcia jak zacząć.
Nie proszę o gotowe rozwiązanie, tylko o jakieś naprowadzenie jak to zrobić.

Wszystkich kombinacji jest: pow(Y, X) czyli Y do potęgi X.

Ten post edytował Kshyhoo 7.02.2014, 20:40:25
Powód edycji: [Kshyhoo]: to Forum nie stosuje takich metod
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
radiopraca
post
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 7.02.2014

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


Dane pochodzą z wcześniejszych obliczeń. Dokładnie problem dotyczy tego że:
Mam X hurtowni (np. 2) i Y towarów do kupienia (np. 3) no i muszę obliczyć gdzie najbardziej opłaca mi się zrobić zakupy.
W jakiej hurtowni muszę kupić jaki towar. Np. kup z hurtowni A towar 1 i 2, a w hurtowni B towar 3.

Znam liczbę hurtowni, np.: $wholesalesCounter = 2; i ID produktów: $products = array(1, 2);

No i w tym przypadku funkcja powinna zwrócić:

0 # 1 i 2
1 # 2
2 # 1
1 i 2 # 0


Ten post edytował radiopraca 7.02.2014, 20:51:24
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 06:40