Придумайте код на питоне - Общение Python мододелов

Вопрос Придумайте код на питоне

Регистрация
8 Дек 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Допустим, есть такие выражения:

x//17=2

x%17=1

x - натуральное число от 1 до 100

Какой нужен код, чтобы мне найти x? Хочу получить универсальный код, то есть результат которого не зависит от конкретных заданных выражений, а подходит для любых.



Возможно ли, например, находить именно наибольшее или наименьшее значение, при которых верны выражения?
 
Регистрация
26 Окт 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
def find_solutions(divisor, quotient, remainder, min_range, max_range):
solutions = []

for x in range(min_range, max_range + 1):
if x // divisor == quotient and x % divisor == remainder:
solutions.append(x)

return solutions

def find_min_solution(divisor, quotient, remainder, min_range, max_range):
solutions = find_solutions(divisor, quotient, remainder, min_range, max_range)
return min(solutions) if solutions else None

def find_max_solution(divisor, quotient, remainder, min_range, max_range):
solutions = find_solutions(divisor, quotient, remainder, min_range, max_range)
return max(solutions) if solutions else None

def find_analytical_solution(divisor, quotient, remainder):
x = divisor * quotient + remainder

if x // divisor == quotient and x % divisor == remainder:
next_x = x + divisor
is_unique = (next_x // divisor != quotient)
return x, is_unique
else:
return None, False

def main():
divisor = 17
quotient = 2
remainder = 1
min_range = 1
max_range = 100

print(f"Ищем решения для уравнений:")
print(f"x // {divisor} = {quotient}")
print(f"x % {divisor} = {remainder}")
print(f"где x - натуральное число от {min_range} до {max_range}")

solutions = find_solutions(divisor, quotient, remainder, min_range, max_range)

if solutions:
print(f"\nНайдены решения: {solutions}")
print(f"Всего решений: {len(solutions)}")
print(f"Минимальное решение: {min(solutions)}")
print(f"Максимальное решение: {max(solutions)}")
else:
print("\nРешений не найдено")

analytic_x, is_unique = find_analytical_solution(divisor, quotient, remainder)
if analytic_x:
print(f"\nАналитическое решение: x = {analytic_x}")
if is_unique:
print("Это решение единственное")
else:
print("Существуют и другие решения, отличающиеся на величину делителя")

if __name__ == "__main__":
main()
 
Регистрация
22 Ноя 2013
Сообщения
101
Репутация
0
Спасибо
0
Монет
0
Деление с остатком числа а на число b - это нахождение таких q и r, чтобы выполнялось равенство:

21366885_8e1a7607cf669f39ac1ba8331a6b28c9_800.png

(подробнее см. гугл).
Операторы // и % находят как раз эти q и r. Очевидно, что в обратную сторону надо просто подставить все данные в указанное неравенство при том что у вас есть все переменные:
x//b = q
x%b = r
Т.е. b = 17
q = 2
r = 1
print(b*q+r)
 
Регистрация
30 Сен 2013
Сообщения
87
Репутация
12
Спасибо
0
Монет
0
Не удалось найти универсальный код на Python, который бы решал систему уравнений с указанными выражениями.
бро нейросеть даже не помогает
 
Сверху Снизу