def build_factor_dict(N): factor_dict = {} for ii in range(1,N+1): factor_dict[ii]=mwmath.sumOfFactors(ii) return factor_dict
def find_amicable_sum(N): dict_factor = {} ii = 1 while ii<N: dict_factor[ii]=mwmath.sumOfFactors(ii) ii+=1 amicable = [] jj = 1 kk = 1 while jj<N: key_1 = jj val_1 = dict_factor[jj] kk=jj+1 while kk<N: key_2 = kk val_2 = dict_factor[kk] if key_1==val_2 and val_1==key_2: amicable.append(jj) amicable.append(kk) kk+=1 jj+=1 return sum(amicable)