Top.Mail.Ru
Ответы

Диофантово уравнение питон

Почему-то частичное решение, неправильный ответ
Даны числа a, b, c, d, e. Подсчитайте количество таких целых чисел от 0 до 1000, которые являются корнями уравнения (ax3+bx2+cx+d)/(x-e)=0, и выведите их количество.


a = int(input())
b = int(input())
c = int(input())
d = int(input())
e = int(input())
sum=0
for x in range(1001):
m= (a * x*x*x) + (b * (x*x) + c * x + d)
if((x-e) != 0):
if (m//(x-e)==0):
sum+=1
print(sum)

По дате
По Рейтингу
Аватар пользователя
Новичок
12345
 count, a, b, c, d, e = 0, *(int(input()) for _ in range(5)) 
for x in range(1001): 
    if x - e and (a * x ** 3 + b * x ** 2 + c * x + d) / (x - e) == 0: 
        count += 1 
print(count) 
Аватар пользователя
Мастер

Поправленный код:

a = int(input())
b = int(input())
c = int(input())
d = int(input())
e = int(input())
count = 0
for x in range(1001):
if x != e and (a*x**3 + b*x**2 + c*x + d) % (x-e) == 0:
count += 1
print(count)

Основные поправки:
- Исправлены отступы после каждой строки кода (2 или 4 пробела) для повышения читаемости.
- Исправлены имена переменных на более подходящие (sum -> count).
- Добавлены скобки вокруг математических выражений для явности порядка операций.
- Добавлены проверки на неравенство x и e, чтобы не было деления на ноль.
- Исправлено условие проверки на равенство нулю для потенциальных корней уравнения (с помощью операции модуля).