Написать программу для сложения натуральных чисел а и в в троичной системе счисления
208
440
Ответы на вопрос:
Function is3base(s: string): boolean; { возвращает true, если строка представляет натуральное число в троичной системе счисления } const dig3base=['0'..'2']; var i,n: integer; err: boolean; begin n: =length(s); if n=0 then is3base: =false else begin i: =n; repeat err: =not(s[i] in dig3base); dec(i); until (i=0) or err; is3base: =not err end end; procedure digitsalign(var s1,s2: string); { дополняет слева нулями короткое слагаемое до длинного } var i,n,l1,l2: integer; begin l1: =length(s1); l2: =length(s2); if l1> l2 then for i: =l2+1 to l1 do s2: ='0'+s2 else for i: =l1+1 to l2 do s1: ='0'+s1 end; function add3base(s1,s2: string): string; { сложение на строках натуральных чмсел s1 и s2 в системе счисления по основанию 3 } var s: string; c0,i,ip,d: integer; begin c0: =ord('0'); if not is3base(s1) then add3base: =s1+' не троичное' else if not is3base(s2) then add3base: =s2+' не троичное' else begin digitsalign(s1,s2); ip: =0; s: =''; for i: =length(s1) downto 1 do begin d: =ord(s1[i])+ord(s2[i])-2*c0+ip; if d> 2 then begin ip: =1; d: =d-3 end else ip: =0; s: =chr(d+c0)+s end; if ip=1 then s: ='1'+s; add3base: =s end end; var s1,s2,sr: string; begin write('введите первое слагаемое в троичной системе: '); readln(s1); write('введите второе слагаемое в троичной системе: '); readln(s2); writeln(s1,'(3) + ',s2,'(3) = ',add3base(s1,s2),'(3)') end. тестовое решение: введите первое слагаемое в троичной системе: 12101120122001 введите второе слагаемое в троичной системе: 10020021122 12101120122001(3) + 10020021122(3) = 12111210220200(3)
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
yuliko1317.08.2021 07:38
-
Dmutrenkovladuslav1224.09.2022 23:52
-
gargallik08.11.2020 10:17
-
Sergey1521104.03.2022 08:11
-
nikolau2011mil03.08.2020 01:19
-
dashikryb13.11.2022 08:44
-
qwertyqwerty123304.07.2020 11:30
-
vladchivlad30.01.2021 11:17
-
Sasha123467917.04.2020 11:07
-
Irish2309.01.2022 12:25
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.