0 / 0 / 0
Регистрация: 02.03.2018
Сообщений: 2
|
|
1 | |
Длинная арифметика разность21.07.2020, 19:46. Показов 540. Ответов 1
Метки pascal abc (Все метки)
Код
Function Difference(s1,s2:string):integer; var a,length1,length2,i:integer; b:boolean; begin a:=0; b:=true; length1:=length(s1); length2:=length(s2); if length1>length2 then begin a:= 1; b:=false; end; if length1<length2 then begin a:=-1; b:=false; end; if b then for i:=1 to length1 do begin if Ord(s1[i])-48>Ord(s2[i])-48 then begin a:= 1; break; end; if s1[i]<s2[i] then begin a:=-1; break; end; end; Difference:=a; end; var s1,s2:string; i,length3,c,x:integer; N,M:array[1..1000] of integer; begin readln(s1); readln(s2); while s1[1] = '0' do Delete(s1,1,1); while s2[1] = '0' do Delete(s2,1,1); if (s1 < s2) and (length(s1) <= length(s2)) then write('-'); c:=0; length3:=length(s2); for i:=1 to length3 do M[length3-i+1]:=Ord(s2[i])-48; length3:=length(s1); for i:=1 to length3 do N[length3-i+1]:=Ord(s1[i])-48; if Difference(s1,s2)<0 then begin length3:=length(s2); for i:=1 to length3 do begin x:=N[i]; N[i]:=M[i]; M[i]:=x; end; end; for i:=1 to length3 do begin c:=c+N[i]-M[i]+10; N[i]:= c mod 10; if c < 10 then c:=-1 else c:=0; end; while (N[length3]=0) and (length3>1) do length3:=length3-1; for i:=length3 downto 1 do Write(N[i]); end.
0
|
21.07.2020, 19:46 | |
Ответы с готовыми решениями:
1
Длинная арифметика Длинная арифметика Длинная арифметика Длинная арифметика |
5079 / 2651 / 2349
Регистрация: 10.12.2014
Сообщений: 10,028
|
||||||
22.07.2020, 06:42 | 2 | |||||
Как смог разбил на более простые операции…
0
|
22.07.2020, 06:42 | |
22.07.2020, 06:42 | |
Помогаю со студенческими работами здесь
2
Длинная целочисленная арифметика Длинная арифметика: извлечение корня Длинная арифметика: вычислить 7 в 125 степени Подпрограммы и Строки: длинная арифметика, умножение Длинная арифметика. Ввод и вывод длинного числа и умножение длинного числа на короткое Длинная арифметика Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |