Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0.
Входные данные
Вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно.
Выходные данные
Необходимо вывести все целочисленные решения, если их число конечно, “NO” (без кавычек), если целочисленных решений нет, и “INF” (без кавычек), если их бесконечно много.
Ответ на языке Python!!!
Python
Очень надо написать программу на Python!!!
а куда Х ушло? на Х что ли?
Руслан Уразгильдеев
так должно быть
По-моему так (но в правильности не уверен)
----------------------------------------------------------------------------------
"""
Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0.
Входные данные
Вводятся 4 числа: a, b, c и d;
c и d не равны нулю одновременно.
Выходные данные
Необходимо
вывести все целочисленные решения, если их число конечно,
“NO” (без кавычек), если целочисленных решений нет, и
“INF” (без кавычек), если их бесконечно много.
( ax + b ) : ( cx + d ) = 0
1)
a==0, b==0, c*x+d != 0
2)
a != 0, b*c-a*d != 0
a*x + b = 0
x = -b/a
"""
while 1:
~~~~a,b,c,d = list(map(int, input('a b c d ').split()))
~~~~if c == d == 0:
~~~~~~~~print(' c и d не должны оба быть равны нулю')
~~~~~~~~continue
~~~~if a == b == 0:
~~~~~~~~print('INF')
~~~~~~~~continue
~~~~if -b/a == -b//a and b*c != a*d:
~~~~~~~~print(-b//a)
~~~~else:
~~~~~~~~print('NO')
----------------------------------------------------------------------------------
while 1: - для того, чтобы можно было пробовать разные варианты вводимых чисел без перезапуска программы
----------------------------------------------------------------------------------
"""
Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0.
Входные данные
Вводятся 4 числа: a, b, c и d;
c и d не равны нулю одновременно.
Выходные данные
Необходимо
вывести все целочисленные решения, если их число конечно,
“NO” (без кавычек), если целочисленных решений нет, и
“INF” (без кавычек), если их бесконечно много.
( ax + b ) : ( cx + d ) = 0
1)
a==0, b==0, c*x+d != 0
2)
a != 0, b*c-a*d != 0
a*x + b = 0
x = -b/a
"""
while 1:
~~~~a,b,c,d = list(map(int, input('a b c d ').split()))
~~~~if c == d == 0:
~~~~~~~~print(' c и d не должны оба быть равны нулю')
~~~~~~~~continue
~~~~if a == b == 0:
~~~~~~~~print('INF')
~~~~~~~~continue
~~~~if -b/a == -b//a and b*c != a*d:
~~~~~~~~print(-b//a)
~~~~else:
~~~~~~~~print('NO')
----------------------------------------------------------------------------------
while 1: - для того, чтобы можно было пробовать разные варианты вводимых чисел без перезапуска программы
Бесконечным циклом не стал бы делать, потому как код будет работать без остановки, из-за чего будет трудновато смотреть на результат.
Итерация происходит, пока i не обретёт значение 100000:
answers = []
try:
a = input("Введите первое число: ")
a = int(a)
b = input("Введите второе число: ")
b = int(b)
c = input("Введите третье число: ")
c = int(c)
d = input("Введите четвёртое число: ")
d = int(d)
if d == 0 or c == 0:
print("3 и 4 число не должны быть равны 0")
else:
for i in range(100000):
x = i
answer = (a * x + b) / (c * x + d)
if answer == 0:
answers.append(int(answer))
else:
pass
except Exception as E:
print("Допущена ошибка!")
print(answers)
Если вы хотите ещё, что бы проверялись и числа в десятичной дроби, можно сделать так, но процесс итерации будет долгим, и придётся указывать число, до которого должно доходить целое число и число за "плавающей точкой" поменьше. Даже при 1000, оно выполняется не сразу:
answers = []
try:
a = input("Введите первое число: ")
a = int(a)
b = input("Введите второе число: ")
b = int(b)
c = input("Введите третье число: ")
c = int(c)
d = input("Введите четвёртое число: ")
d = int(d)
if d == 0 or c == 0:
print("3 и 4 число не должны быть равны 0")
else:
for i in range(100000):
x = i
answer = (a * x + b) / (c * x + d)
if answer == 0:
answers.append(int(x))
else:
pass
if len(answers) == 0:
for i in range(100000):
for f in range(100000):
f = ''.join(("{}.".format(str(i)), str(f)))
x = float(f)
answer = (a * x + b) / (c * x + d)
if answer == 0:
answers.append(float(x))
else:
pass
except Exception as E:
print("Допущена ошибка!")
Здесь вопрос скорости, насколько быстро вам нужно!
Итерация происходит, пока i не обретёт значение 100000:
answers = []
try:
a = input("Введите первое число: ")
a = int(a)
b = input("Введите второе число: ")
b = int(b)
c = input("Введите третье число: ")
c = int(c)
d = input("Введите четвёртое число: ")
d = int(d)
if d == 0 or c == 0:
print("3 и 4 число не должны быть равны 0")
else:
for i in range(100000):
x = i
answer = (a * x + b) / (c * x + d)
if answer == 0:
answers.append(int(answer))
else:
pass
except Exception as E:
print("Допущена ошибка!")
print(answers)
Если вы хотите ещё, что бы проверялись и числа в десятичной дроби, можно сделать так, но процесс итерации будет долгим, и придётся указывать число, до которого должно доходить целое число и число за "плавающей точкой" поменьше. Даже при 1000, оно выполняется не сразу:
answers = []
try:
a = input("Введите первое число: ")
a = int(a)
b = input("Введите второе число: ")
b = int(b)
c = input("Введите третье число: ")
c = int(c)
d = input("Введите четвёртое число: ")
d = int(d)
if d == 0 or c == 0:
print("3 и 4 число не должны быть равны 0")
else:
for i in range(100000):
x = i
answer = (a * x + b) / (c * x + d)
if answer == 0:
answers.append(int(x))
else:
pass
if len(answers) == 0:
for i in range(100000):
for f in range(100000):
f = ''.join(("{}.".format(str(i)), str(f)))
x = float(f)
answer = (a * x + b) / (c * x + d)
if answer == 0:
answers.append(float(x))
else:
pass
except Exception as E:
print("Допущена ошибка!")
Здесь вопрос скорости, насколько быстро вам нужно!
Похожие вопросы
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.
- Напишите программу на Python
- Написать программу в python
- Помогите написать программу на python
- Выразите число в виде суммы четырех квадратов Нужно написать программу на python
- Неверо написана программа на Python
- Напишите программу в Python, пожалуйста
- Интерационный цикл Написать программу на python Заранее спасибо!
- Python программирование. Помогите написать программу.
- Помогите пожалуйста написать 2 программы на Python