<prompt> Nambari zinaweza kuzingatiwa kama bidhaa ya sababu zao. Kwa mfano, 8 2 x 2 x 2 2 x 4.Kwa kuzingatia nambari kamili n, rudisha _michanganyiko yote ya vipengele vyake_. Unaweza kurudisha jibu kwa mpangilio wowote .Kumbuka kwamba vipengele vinapaswa kuwa katika safu 2, n - 1.Mfano wa 1:Ingizo: n 1Pato: Mfano wa 2:Ingizo: n 12Pato: 2,6,3,4,2,2,3Mfano wa 3:Ingizo: n 37Pato: Vikwazo: 1 n 107  <response>: chatudef getFactorsn: def msaidizin, anza, njia, matokeo: ikiwa n 1: ikiwa lennjia 1: tokeo.ongezanjia: kurudi kwa mimi katika anuwai anza, n 1: ikiwa n i 0: njia.ongezai msaidizin i, i, njia, matokeo path.pop matokeo msaidizin, 2, , matokeo matokeo ya kurudimaelezoTunatumia algoriti ya nyuma ili kupata michanganyiko yote ya vipengele vinavyowezekana. Kanuni huanza na n na kuigawanya katika vipengele vyote vinavyowezekana katika safu 2, n. Tunafuatilia njia ya sasa, ambayo inawakilisha mambo yaliyopatikana hadi sasa. Wakati n ni sawa na 1, tunaangalia kama njia ya sasa ina zaidi ya kipengele kimoja. Ikiwa inafanya hivyo, tunaongeza mchanganyiko wa sasa wa mambo kwa matokeo.Ili kuepuka marudio, tunahakikisha kwamba sababu inayofuata katika mlolongo ni kubwa kuliko au sawa na ya awali kwa kupitisha kutofautiana kuanza katika kazi ya msaidizi. Hii inahakikisha kwamba kila mara tunachunguza vipengele kwa utaratibu usiopungua.Katika kila hatua ya kujirudia, kwanza tunaangalia kama thamani ya sasa ya n inaweza kugawanywa na kipengele cha sasa yaani, haina salio inapogawanywa. Ikiwa ndivyo, tunasasisha njia na kipengele cha sasa na kupiga simu kitendakazi cha msaidizi na thamani iliyosasishwa ya n ikigawanywa na kipengele cha sasa. Baada ya simu ya kujirudia kurudi, tunaondoa kipengele cha mwisho kutoka kwa njia ya kurudi kwenye kiwango cha awali na kuchunguza vipengele vingine. Hii inaendelea hadi tumegundua vipengele vyote vya ingizo n. Matokeo ya mwisho ni orodha ya orodha zinazowakilisha mchanganyiko wote unaowezekana wa mambo. 