Untitled
unknown
python
3 years ago
823 B
4
Indexable
# # 4 апреля 2022 # # На вход подается два натуральных числа a и b. # Напишите программу. которая находит натуральное # число из отрезка [a,b] с максимальной суммой делителей. def dsum(x): s = 1+x for i in range(2,x//2+1): if x%i == 0: s = s+i return s def maxDSum(a,b): n = 0 j = 0 for i in range(a,b+1): y = dsum(i) if y > n: n,j = y,i return j, n print(maxDSum(1, 15)) print(maxDSum(1, 20)) # второй вариант def dsum2(n): return sum(x for x in range(1, n+1) if n%x==0) def maxDSum2(a,b): x = max(range(a, b+1), key=dsum2); return x, dsum2(x) print(maxDSum2(1, 15)) print(maxDSum2(1, 20))
Editor is loading...