Tämä esittelee rekursiota etsien ruudukosta summia, jotka ovat parillisia ja ylittävät tavoitteen. Ohjelma arpoo luvut ennen kuin etsitään summia.
import random #Tämä koodi esittelee rekursiota. def LaskeSumma(ruudukko,j,i,koko,summa,tavoite,lauseke): if (summa >= tavoite and summa % 2 == 0): #Tulostetaan löydetty lauseke ja summa. print(lauseke, "=",summa) return if (j == 0 and i == 0): #Luodaan aloitusosa summa += ruudukko[j][i] lauseke += str(ruudukko[j][i]) + " " if (j+1 < koko and i+1 < koko): #Siirrytään seuraavaan. if (summa+ruudukko[j][i+1] <= tavoite): LaskeSumma(ruudukko,j+1,i,koko,summa+ruudukko[j+1][i],tavoite,lauseke+str(ruudukko[j+1][i])+ " ") if (summa+ruudukko[j][i+1] <= tavoite): LaskeSumma(ruudukko,j,i+1,koko,summa+ruudukko[j][i+1],tavoite,lauseke+str(ruudukko[j][i+1])+ " ") return #Arvotaan ruudukko. koko = 6 ruudukko = [] for i in range(6): ruudukko.append([random.randrange(1,10) for _ in range(koko)]) for i in range(6): print(ruudukko[i]) print("") LaskeSumma(ruudukko,0,0,koko,0,30,"")
Aihe on jo aika vanha, joten et voi enää vastata siihen.