webForumDet fria alternativet

Permutationer/Kombinationer

1 svar · 356 visningar · startad av P

PMedlem sedan jan. 20012 204 inlägg
#1

Har följande problem, en array med säg 5 element och ett tal, säg 8. Jag skulle vilja ha alla sätt som 8 kan delas upp i denna array t.ex {0,4,1,3,0} {8,0,0,0,0}.
Alltså inte hur många det är utan alla permutationer/kombainationer vad det nu heter.
Ordningen spelar ju roll {1,0,1,1,5} är inte samma som {5,1,1,1,0}, men kod för att hitta alla kombinationer har jag, det är just uppdelnigen av talet(8) som strular, och för att det ska fungera så måste ju talen vara större än 0 och få förekomma flera gånger... :q

PMedlem sedan jan. 20012 204 inlägg
#2
        private void button1_Click(object sender, EventArgs e)
        {
            Partion(4, 4, 4 + "=" );
            Console.Read();
        }

        private void Partion(int n, int limit, string str)
        {
            if (n > 0)
                for (int i = Math.Min(n, limit); i > 0; i--)
                {
                    Partion(n - i, i, str + "+" + i);
                }
            else
            {
                Console.WriteLine(str);
            }
             
   
        }
135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)