0155. Решить уравнение 2
Имя входного файла | input.txt |
Имя выходного файла | output.txt |
Максимальное время работы на одном тесте | 2 секунды |
Ограничение по памяти | 64 МБ |
Двоечник Вася много раз оставался на второй год и уже выучил наизусть
все ответы на экзаменационные вопросы. Проблема только с математикой.
Каждый год на экзамене дают решить уравнение вида:
|x - A| + B = 0.
Год от года меняются только значения A и B, из-за чего Вася
заваливает экзамен и не переходит в следующий класс. Он хочет специально
для этого примера научиться получать его решение при различных
значениях А и B. Помогите Васе написать программу, решающую данное
уравнение.
Формат входных данных:
Во входном файле заданы два целых числа A и B (-2*109 ≤ A, B ≤ 2*109).
Формат выходных данных:
В первой строке выходного файла выведите количество решений данного уравнения, а во второй через пробел сами решения.
Пример
input.txt | output.txt |
0 -1 | 2 -1 1 |
Решение на 80 баллов
{$N+}
var A,B,x,x1,x2: comp;
begin
assign(input,'input.txt');
reset(input);
assign(output,'output.txt');
rewrite(output);
read(A, B);
x1:=-B+A;
x2:=B+A;
if x1=x2 then
x:=1 else x:=2;
writeln(x:0:0);
writeln(x1:0:0,' ',x2:0:0);
close(input);
close(output);
end.
Ошибки при тестировании:
Тест 1 Входной 0 -1
Выходной 2 -1 1
выдает ответ 2 1 -1
Тест 2 Входной файл -60 0
Выходной 1 -60
Ответ программы 1 -60 -60
Исправляем ошибки
Решение на 90 баллов исправлены ошибки в тестах, (см. выше)
{$N+} var A,B,x,x1,x2: comp; begin assign(input,'input.txt'); reset(input); assign(output,'output.txt'); rewrite(output); read(A, B); x1:=-B+A; x2:=B+A; if x1=x2 then begin x:=1; writeln(x:0:0); writeln(x1:0:0); end else begin x:=2; writeln(x:0:0); writeln(x2:0:0,' ',x1:0:0); end; close(input); close(output); end.
|