АС
Адилет Султанов

Программа не может находить корни больших чисел.

В общем есть программа, которая находит кол-во корней и сами корни. Уравнение |x - A| + B = 0. Проблема в том, что корни большие числа например ((а) 1454842755 (б) -1108755965; 1454842755 -1108755965) находит только один корень правильно, а другой неправильно или наоборот.

uses crt;
var a,b,x1,x2,n:integer;
begin
readln (a,b);
n:=2;
if b>0 then
begin
x1:=0;
writeln(x1);
end
else
begin
if b=0 then
begin
x1:=-(-a);
writeln(n);
writeln(x1);
end
else
begin
x1:=-(-a)-(-b);
x2:=-(-a)+(-b);
writeln(n);
writeln(x1,' ',x2);
if x1=x2 then
begin
n:=1;
end;
end;
end;
end.

Что делать? подскажите.

Искандар Акбаров
Искандар Акбаров

Если речь идет о паскале, то Integer имеет область значений от -32768 до 32767
Смените тип Integer на LongInt, будет область значений от -2.14 млрд до 2.14млрд.

А вообще для вычислений лучше использовать тип Real / Double / Extended.

Если смущает вывод числа в натуральной форме, выводите его с заданной точностью
var
x1:Real;
...
begin
...
WriteLn(x1:0:2);
WriteLn(x1:5:1);
WriteLn(x1:8:0);
...
end.

Саша Макаров
Саша Макаров

эта задачка уже так достала тут на ответах, что вникать в ваш код лень. но попробуйте вместо integer использовать longint. должно помочь.

Похожие вопросы
написать программу для вычисления факториала больших чисел
Программы Pascal. Помогите составить программу которая находит минимальное из трех чисел!!!
составьте программу которая находит сумму квадратов чисел от 1 до 10
Pascal. Как найти самое большое число из 10 чисел?
Написать программу (паскаль) Имеется несколько чисел. Найти разницу между самым большим и самым маленьким числом.
паскаль. Создать программу для нахождения суммы большего и меньшего и четырех чисел
Составьте программу, заменяющую из двух данных чисел большее а меньшее-модулем разности этих чисел.
Преобразование в JavaScript больших чисел в String без искажения
Как в Pascal ABC найти из четырёх чисел большее!
программа вычисления всех четных чисел с 1 до 10