Регистрация
29 Ноя 2013
Сообщения
64
Репутация
6
Спасибо
1
Монет
0
Дано 2 целых числа A и B. Определите сумму всех целых чисел от А до B.



a=int(input())

b=int(input())

s=0

for i in range(a+1,b+1):

s+=i

print(s)



если а=1, а b=100, то должно выводиться 5050, а у меня выходит 5049......
 
обмани учителя сделай так !
print(s + 1)
или s = s + 1.
 
Товарищ, никогда не решай подобные задачи таким образом.

Сумма всех целых чисел от A до B рассчитывается по такой формуле: B
∑ i = (A + B)(B - A + 1)/2
A И соответствующий код на Питоне будет: a = int(input())
b = int(input())
print((a + b) * (b - a + 1) // 2)
А технически там проблема в range() - параметр начала итерирования включается в множество, а параметр окончания итерирования не включается, т.е. range(10) - это числа от 0 до 9 включительно. range(a, b + 1) - это числа от a до b включительно.
Ставь внутрь цикла отладочную печать, когда достоверно не знаешь, что там происходит.
 
ты в цикле саму букву "a" не включаешь...
вот исправленный a = int(input())
b = int(input())
s = 0
for i in range(a, b+1):
s += i
print(s)
 
Назад
Сверху