Правила длинной арифметики



жүктеу 15.85 Kb.
Дата01.05.2016
өлшемі15.85 Kb.
түріПравила
: dep
dep -> Энциклопедический
dep -> Қр ижтм туризм комитетінің 2013 жылы атқарылған жұмыс туралы есеп
dep -> Бесінші шақырылған Шығыс Қазақстан облыстық мәслихаты депутаттарының 2014 жылдың қаңтары мен 2015 жылдың қаңтары аралығында сайлау округтарында атқарған жұмыстары туралы
dep -> Приемная кампания
dep -> Сектор информации

Длинная арифметика.

Длинная арифметика позволяет для данных любой длины получить

результат арифметического действия над ними с сохранением всех

значащих разрядов, что недоступно в ТурбоПаскале.


Правила длинной арифметики:

- операнды хранятся поразрядно в двух массивах;

- арифметические действия эмулируются программным путем;

- результат записывается в массив поразрядно.


{Сложение чисел длиной до 100разрядов}

Var m1, m2: Array [1..100] of Integer;

mr: Array [1..230] of Integer;

a,b,c: String;

r,i,j,n: Integer;



Begin

Write('введите 1 слагаемое'); ReadLn(a);

Write('введите 2 слагаемое'); ReadLn(b);

n:=1;


For i:= Length(a) DownTo 1 Do

Begin m1[n]:=Ord(a[i])-48; n:=n+1; End;

n:=1;


For i:= Length(b) DownTo 1 Do

Begin m2[n]:=Ord(b[i])-48; n:=n+1; End;

{ 9 9 9 }

{ 8 8 8 }

For i:=1 To 100 Do {i=1 2 3 4 }



Begin

r:= (mr[i]+m1[i]+m2[i]); {17 18 18 1 }

mr[i]:= r Mod 10; { 7 8 8 1 }

mr[i+1]:=r Div 10; { 1 1 1 0 }



End; {[1][2] [2][3] [3][4] [4][5]}

{результат: 7881 }

For i:= 100 DownTo 1 Do If mr[i] <> 0 Then Break;

For j:= 1 To i Do c:=Chr(mr[j]+48)+c;{переворот 7881 ---> 1887 }

WriteLn(c);

ReadLn;


End.
1. Составить программу, имитирующую работу калькулятора с длинной

арифметикой: сложение, умножение, вычитание, целочисленное

деление, возведение в степень. Калькулятор должен работать с

числами длиной до 100 разрядов.


2. Возвести в квадрат число, состоящее из единиц длиной до 100

разрядов.

Пример. 11 ^2 = 121, 111111111 ^2 = 12345678987654321

Подсказка: Если n<=9 --> То зеркалка, Иначе длинная арифметика.


3. Составить программу-калькулятор позволяющую складывать, вычитать

и умножать целые числа записанные в двоичной системе счисления.


4. Определить делиться ли двоичное число на 5 (на 3).
5. Факториал n!= 1*2*3*...*n. Зная значение факториала n! найти n.

Значение n! может содержать до 255 символов.



Данные для задачи найти используя программу Калькулятор.



©netref.ru 2017
әкімшілігінің қараңыз

    Басты бет