#python
#python
Вопрос:
Я нашел это решение для проекта Эйлера 5 (какое наименьшее положительное число, которое равномерно делится на все числа от 1 до 20?) с переменным диапазоном целых значений для равномерного деления на:
def Euler5(start, end, counter):
x = counter
while start <= end:
if x%counter == x%start:
return Euler5(start 1, end, x)
else:
x = counter
return x
Однако мне нужно вручную установить счетчик на наименьшее целое значение (начальное counter
= start
значение). Есть ли способ автоматически сделать это и поддерживать алгоритм?
Ответ №1:
Если я правильно вас понял, вы хотите это counter == start
для начального вызова, не указывая counter
вручную в первом вызове.
Для этого вы можете установить counter
значение по умолчанию None
и проверить это в начале функции, установив counter
соответствующее значение, если это так:
def Euler5(start, end, counter=None):
if counter is None:
counter = start
x = counter
while start <= end:
if x % counter == x % start:
return Euler5(start 1, end, x)
else:
x = counter
return x
Комментарии:
1. Я был бы признателен за поддержку, если это действительно так. 😉
2. Спасибо, я ценю это.