Решение задачи "Уравнение" с Mccme

С пояснением   Просмотров: 15


Решить в целых числах уравнение ax + b = 0.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;
    if(!a && !b)
        cout << "INF";
    else if(!a && b)
        cout << "NO";
    else if(int(-b/a) != (-b * 1.0)/a)
        cout << "NO";
    else
        cout << -b/a;
    return 0;
}

         

 Администратор Photo Автор: Администратор


Если a равняется нулю, b равняется нулю - уравнение имеет
бесконечно много решений. Если a равняется нулю, b не равняется нулю - решений нет. В остальных
случаях нужно проверить, делится ли -b на a без остатка (т.к. надо решить уравнение в целых числах),
и если да - вывести результат. Следует учесть, что результат должен быть целого типа, т.е. значение x
следует считать не как -b/a (получается что x - типа real (float в Си), и тестирующая система выдаст сообщение об
ошибке), а как -b div a (-b/a в Си).

Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться