Я относительно новичок в кодировании в целом и начал проект Euler, чтобы немного улучшить кодировку. Провел некоторое время, думая о том, как самостоятельно работать с первым вопросом и попытался использовать рекурсивные функции, к сожалению, всегда получая ту же ошибку (266333). Что я упустил? С какой большой ошибкой учиться?Project Euler - # 1 Неправильное решение Python
Оригинальный вопрос гласит: «Если мы все натуральные числа меньше 10, кратные 3 или 5, мы получаем 3, 5, 6 и 9. Сумма этих мультипликаторов составляет 23.
Найти сумма всех кратных 3 или 5 ниже 1000. "
def function(i, j, h, k):
if j < 1000 and k < 1000:
i = i + j
h = h + k
return function(i, j+3, h, k+5)
elif j < 1000 and k >= 1000:
i = i + j
return function(i, j+3, h, k)
elif j >= 1000 and k < 1000:
h = h + k
return function(i, j, h, k+5)
else:
print (i + h)
function(0,0,0,0)
Где я это сумма чисел, кратных 3, ч является суммой кратных 5, J является кратны 3 и к является кратны 5.
Ваши общие имена переменных делают этот код очень трудным для понимания. Что означают 'i',' j', 'h' и' k'? – Blckknght
Обязательно использовать рекурсию, не могли бы вы разместить ссылку на эту проблему? – wind85