МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ
Понедельник, 23.12.2024, 20:57
ГлавнаяРегистрацияВход Приветствую Вас Гость | RSS

Меню сайта

Категории раздела
Уравнения и неравенства [1]
Модуль [2]
Примеры [3]
Практика [1]
Задание 3 [1]

Наш опрос
Какой язык программирования Вы изучаете
Всего ответов: 1029

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа


Главная » Файлы » ЗАНЯТИЕ » Модуль

0155. Решить уравнение 2
13.11.2013, 21:30

0155. Решить уравнение 2


Имя входного файлаinput.txt
Имя выходного файлаoutput.txt
Максимальное время работы на одном тесте2 секунды
Ограничение по памяти64 МБ

Двоечник Вася много раз оставался на второй год и уже выучил наизусть все ответы на экзаменационные вопросы. Проблема только с математикой. Каждый год на экзамене дают решить уравнение вида:

|x - A| + B = 0.

Год от года меняются только значения A и B, из-за чего Вася заваливает экзамен и не переходит в следующий класс. Он хочет специально для этого примера научиться получать его решение при различных значениях А и B. Помогите Васе написать программу, решающую данное уравнение.

Формат входных данных:

Во входном файле заданы два целых числа A и B (-2*109 ≤ A, B ≤ 2*109).

Формат выходных данных:

В первой строке выходного файла выведите количество решений данного уравнения, а во второй через пробел сами решения.

Пример

input.txtoutput.txt
0 -12
-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.



Категория: Модуль | Добавил: i_elf
Просмотров: 903 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Поиск

Друзья сайта
  • Творческий учитель
  • Сайт ООАКМР
  • Школьный сайт
  • Информатика учебник
  • МОИ

  • Copyright MyCorp © 2024 Сделать бесплатный сайт с uCoz