Перейти к содержимому


А-В


В этой теме нет ответов

#1 yanush

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 23 декабря 2011 - 13:58

Требуется найти разность между неотрицательными числами А и В.
Входные данные

Во входном файле INPUT.TXT в двух строках записаны два неотрицательных целых числа A и B, не превышающие 101000.
Выходные данные

В выходной файл OUTPUT.TXT выведите значение A-B.

var x:array[-1000000..1000000]of longint;i,m,f,j,c,l,g:longint;a,s,b,z:string;
Begin
    	readln(a);
    	read(B)/>;
    	if length(B)/><length(a) then
    	for i:=1 to length(a)-length(B)/> do
    	b:='0'+b;
     	if (length(a)<length(B)/>)or(b>a)then begin
     	z:=a;
     	a:=b;b:=z;
     	g:=1;
     	end;
     	if length(B)/><length(a) then
    	for i:=1 to length(a)-length(B)/> do
    	b:='0'+b;
    	for j:=length(a) downto 1 do
    	begin
                    	val(a[j],m,f); val(b[j],c,f);
                    	x[j]:=x[j]+(m-c);
                    	if x[j]<0 then begin
                    	x[j]:=x[j]+10;
                    	x[j-1]:=x[j-1]-1;
                    	end;
    	end;
       	b:='';
    	if g=1 then write('-');
    	for i:=1 to length(a) do
    	begin
    	str(x[i],s);
    	b:=b+s;
    	end;
    	while (b[1]='0')and(length(B)/>>1) do
    	delete(b,1,1);
    	writeln(B)/>;
End.






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анононимных