![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 29.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Chciałbym poznać Wasze pomysły na rozwiązanie takiego zagadnienia: mamy jakąś stałą typu integer > 0 i algorytm ma wyświetlić (ew. dodać do zmiennej) tablicę wszystkich możliwych rozmieszczeń liczb w szeregu, z tym, że liczby są 1 <= x <= stała i nie mogą się powtarzać. Np. dla stałej 3 są to: 123 312 213 231 132 321 Mam wiele koncepcji na stworzenie tego algorytmu, np. operowanie na innym powiedzmy "systemie liczb", x/stała, czy wielokrotne powtarzanie tablicy, zakładając, że kombinacji jest mniej niż stała^2 i sprawdzając, czy się nic nie powtarza. Może ktoś z Was rozwiązywał podobne zadanie. Maciek |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Kod $liczba="123"; $kombinacje=array($liczba); $liczby=array(); for($x=0;$x<strlen($liczba);$x++) array_push($liczby,$liczba[$x]); for($x=0;$x<count($liczby);$x++){ for($y=0;$y<count($liczby);$y++){ if ($x!=$y){ $temp=$liczby; $a=$temp[$x]; $temp[$x]=$temp[$y]; $temp[$y]=$a; $liczba2=implode("",$temp); if (!in_array($liczba2,$kombinacje)) array_push($kombinacje,$liczba2); } } } print_r($kombinacje); -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 17:57 |