Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python3.Напишите программу, которая находит натуральное число из отрезка [a;b] с максимальной суммой делителей.

Демьян Сорокин Ученик (204), на голосовании 3 года назад
На вход программе подается два натуральных числа a и b (a < b). Напишите программу, которая находит натуральное число из отрезка [a;b] с максимальной суммой делителей.

Формат входных данных
На вход программе подаются два числа, каждое на отдельной строке.

Формат выходных данных
Программа должна вывести два числа на одной строке, разделенных пробелом: число с максимальной суммой делителей и сумму его делителей.

Примечание. Если таких чисел несколько, то выведите наибольшее из них.
Голосование за лучший ответ
Роман Щербаков Знаток (450) 3 года назад
a,b = map(int,input().split())
max1 = 0
max2 = 0
for i in range(a,b+1):
for j in range(1,i//2+1):
if i % j == 0:
max1 += j
if max1 > max2 :
max2 = max1
d = j
pritn(d,max2)
Роман ЩербаковЗнаток (450) 3 года назад
a,b = map(int,input().split())
max1 = 0
max2 = 0
for i in range(a,b+1):
for j in range(1,i//2+1):
if i % j == 0:
max1 += j
if max1 > max2 :
max2 = max1
d = j
print(d,max2)
Роман ЩербаковЗнаток (450) 3 года назад
a,b = map(int,input().split())# ввод
max1 = 0
max2 = 0# cчётчики
for i in range(a,b+1):# перебор чисел от а до б
for j in range(1,i//2+1):# смотрим все делители числа
if i % j == 0:
max1 += j
if max1 >= max2 :# поиск того что надо
max2 = max1
d = i
max1 = 0
max2 += d# к последнему прибавляем число так как любое число является делителем самого себя и наш перебор его не включит
print(d,max2)
Роман Щербаков, фигня, переделывай
Роман ЩербаковЗнаток (450) 3 года назад
баги копирэйта последний вариант чоткий
Роман Щербаков, не работает твоя программа
asdsgfdg gfdsdsgrУченик (184) 3 года назад
a = int(input())
b = int(input())
max1 = 0
max2 = 0
for i in range(a,b+1):
for j in range(1,i+1):
if i % j == 0:
max1 += j
if max1 >= max2:
max2 = max1
x = i
max1 = 0

print(x,max2)
asdsgfdg gfdsdsgr Ученик (184) 3 года назад
a, b = int(input()), int(input())
x = [sum([j for j in range(1,i+1) if i%j == 0]) for i in range(a,b+1)]
print(x.index(max(x))+a, max(x) )
Антон КузьминУченик (164) 3 года назад
не читается
Похожие вопросы