<prompt> Kwa kuzingatia nambari kamili n na k, rudisha _nambari _zote zinazowezekana za_ k _nambari zilizochaguliwa kutoka kwa safu_ 1, n.Unaweza kurudisha jibu kwa mpangilio wowote .Mfano wa 1:Ingizo: n 4, k 2Pato: 1,2,1,3,1,4,2,3,2,4, 3,4Maelezo: Kuna 4 chagua 2 michanganyiko 6 jumla.Kumbuka kuwa michanganyiko haijapangwa, yaani, 1,2 na 2,1 inachukuliwa kuwa mchanganyiko sawa.Mfano wa 2:Ingizo: n 1, k 1Pato: 1Maelezo: Kuna 1 chagua 1 1 jumla ya mchanganyiko.Vikwazo: 1 n 20 1 k n  <response>: chatukutoka kwa kuchapa Orodha ya kuingizadef kuchanganyan: int, k: int - OrodhaOrodhaint: def backtrackanza, current_combination: ikiwa lenmchanganyiko_wa_sasa k: result.appendcurrent_combination: kwa mimi katika anuwai anza, n 1: current_combination.ongezai nyuma i 1, mchanganyiko_wa_sasa current_combination.pop matokeo nyuma 1, matokeo ya kurudimaelezoKanuni hutumia mbinu ya kurudisha nyuma kutoa michanganyiko yote inayowezekana ya nambari za k nje ya masafa 1, n. Tunaunda kitendakazi cha msaidizi kiitwacho backtrack ambacho hutoa michanganyiko kwa kujirudia. Katika kazi hii ya msaidizi, tuna kesi ya msingi ambapo ikiwa ukubwa wa mchanganyiko wa sasa ni sawa na k, tunaongeza kwenye matokeo. Vinginevyo, tunarudia kupitia nambari kutoka faharasa ya mwanzo hadi n, kuongeza nambari ya sasa kwenye mseto wa sasa, na kupiga simu ya kujirudia na faharasa ya kuanza iliyoongezwa. Baada ya simu, tutaondoa uamuzi kwa kuondoa nambari kutoka kwa mchanganyiko wa sasa kurudisha nyuma.Chaguo za kukokotoa kuu huanzisha orodha tupu ya matokeo, huita kitendakazi cha backtrack na kielezo cha kuanzia cha 1 na orodha tupu ya mseto wa sasa, na kisha kurudisha orodha ya matokeo. 