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

Помогите решить программу на python

Юрий Зеликович Ученик (141), закрыт 1 месяц назад
Доброго времени суток, помогите решить программу которая получает два числа, и выводит сумму между этими числами, без циклов
Лучший ответ
Ксения Райт Гений (72309) 2 месяца назад
Вот так правильно:
 import fractions, math 
a, b = map(fractions.Fraction, input('a b: ').split())
if a > b: a, b = b, a
a = math.ceil(a) if a < 0 else math.floor(a)
b = math.floor(b) if b < 0 else math.ceil(b)
print((b * (b - 1) - a * (a + 1)) // 2)
1) Какого типа числа у Вас не сказано, поэтому первоначально их лучше задавать каким-нибудь из вещественных типов, например, рациональным, при котором можно вводить числа в любом виде: показательном (3.14e6), с фиксированной запятой(2.71828), целом (5) или дробном (-11/3). Числа вводятся в строке приглашения через пробел.
2) Что первое вводимое число меньше второго у Вас не сказано, поэтому в том случае, когда первое вводимое число больше второго, числа меняются местами.
3) Числа между первым и вторым берутся только целые, а задаваемые числа во множество слагаемых не входят.
4) Сумма рассчитывается по формуле арифметической прогрессии.
5) А спамеров с их безмозглыми неработающими программами, а также тиньковскими и прочими картами надо сразу банить, хотя бы прожав для этого минус! Потому что отвечать тем, у кого в вопросах топчутся мошенники, спамеры, хамы, идиоты и нейросети с их идиотскими копирками, не имеет никакого смысла так как авторы таких вопросов просто-напросто не умеют себя нормально вести, то есть действовать адекватно в случае нашествия в их вопросы всяких уродов!
Остальные ответы
Андрей Морозов Ученик (230) 2 месяца назад
Для решения этой задачи можно использовать рекурсию. Рекурсивная функция будет принимать два числа и вычислять сумму чисел между ними.

Вот пример программы на Python:

python
def sum_numbers(start, end):
if start >= end: # базовый случай, если start >= end, то нет чисел между ними
return 0
else:
return start + sum_numbers(start + 1, end) # рекурсивный вызов с увеличением start на 1

# пример использования функции
start_num = int(input("Введите начальное число: "))
end_num = int(input("Введите конечное число: "))

result = sum_numbers(start_num, end_num)
print("Сумма чисел между", start_num, "и", end_num, "равна", result)


Программа запрашивает у пользователя начальное и конечное число, затем вызывает рекурсивную функцию sum_numbers() и выводит результат.



если тебе не жалко кинь вознаграждение на карту Тинькофф
2200700721295250
Андрей Щ.
Похожие вопросы