webForumDet fria alternativet

Permutationer/Kombinationer

.NET

1 svar · 356 visningar · startad av P

Medlem sedan jan. 20012 204 inlägg
Frågan#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

Medlem 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);
            }
             
   
        }
250 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)