Вы ищете решение для x ^ 2 + x - 2N = 0, где N - это сумма, которую получит сумма чисел до x. Если х целое число, то есть решение. Используя стандартное решение уравнения квадратичного c, мы придумываем:
x = (-1 + √ (1 + 8N)) / 2
, чтобы вы могли написать свою функцию следующим образом:
def isSumToN(N):
x = ((8*N+1)**0.5-1)/2
return int(x) if x%1==0 else False
вывод:
isSumToN(10) # 4
isSumToN(101) # False