python求最小因数和

一个自然数可以分解为若干个自然数相乘,对于指定自然数n,请求出每种分解自然数之和最小的一个(不考虑1,若是素数,则是它本身) 例如:24 :{2:12=14},{3:8=11},{4:6=10} 输出: {4:6=10}

def check_data(n):
    dict={}
    for i in range(2,n+1):
        if n%i==0 and i!=n:
            key=str(i)+':'+str(n//i)
            dict[key]=i+n//i
    else:
        dict[n]=n
    return f'最小因数和输出为:{sorted(dict.values())[0]}'

print(check_data(24))

你可能感兴趣的:(脚本语言,python)