Решить в целых числах уравнение ax + b = 0.
Входные данные
Вводятся 2 целых числа: a и b.
Выходные данные
Необходимо вывести все решения, если их число конечно, “NO” (без кавычек), если решений нет, и “INF” (без кавычек), если решений бесконечно много.
В Паскале, пожалуйста!)
Ответы
Ответ дал:
20
var
a,b:integer;
begin
Write('Введите a,b: '); Read(a,b);
if a<>0 then
if (b mod a)=0 then Writeln(-b div a) else Writeln('NO')
else
if b=0 then Writeln('INF') else Writeln('NO')
end.
a,b:integer;
begin
Write('Введите a,b: '); Read(a,b);
if a<>0 then
if (b mod a)=0 then Writeln(-b div a) else Writeln('NO')
else
if b=0 then Writeln('INF') else Writeln('NO')
end.
даня239:
Извините, не подскажите?
program N;
var a,b:integer;
begin
readln (a,b);
if (b=0) and (a=0) then
write('INF');
if (a<>0) and (b mod a=0) then
writeln(-b/a) else
write ('NO');
end.
var a,b:integer;
begin
readln (a,b);
if (b=0) and (a=0) then
write('INF');
if (a<>0) and (b mod a=0) then
writeln(-b/a) else
write ('NO');
end.
я написал так, а на сайте мне забраковали ее, почему?
Откуда же я могу знать, почем что-то какому-то сайту что-то не понравилось? Должно быть. наверно, сообщение о причине...
А то, что мной написано, тоже бракуется?
Что да Вашего варианта, (a<>0) and (b mod a=0) - что должно произойти, если a=0? "Ленивый" компилятор проверит a<>0, получит "ложно" и дальше выражение не станет обрабатывать. А "дотошный" попробует вычислить b mod a = 0 и программа помрёт при делении на ноль. Поэтому так опасно писать.
оба решения не работают(
Приведите пример, когда решение не работает.
Вас заинтересует
2 года назад
7 лет назад
9 лет назад