Уисполнителя калькулятор две команды : 1. прибавь 1. 2. прибавь 2. первая из них увеличивает число на экране на 1 , вторая --на 2. сколько различных чисел можно получить из числа 2 с программы , которая содержит не более 4 команд ? у исполнителя утроитель две команды которым присвоены номера : 1.вычти 1 2. умножь на 3 первая из них уменьшает число на экране на 1, вторая -увеличивает его в три раза . запишите порядок команд в алгоритме получения из числа 6 числа 10 , содержащем не более 5 команд , указывая лишь номера команд . (например , 21211--это алгоритм : умножь на 3 вычти 1 умножь на 3 вычти 1 вычти 1 , который преобразует число 2 в число 13 ). если таких алгоритмов более одного , то запишите любой из них .
260
456
Ответы на вопрос:
Первая : мы не можем получить числа, меньшие 6 (т.к. даже если использовать самые маленькие числа: 2 + 1 + 1 + 1 + 1 = 6) и больше 10 (т.к. 2 + 2 + 2 + 2 + 2 = 10) но все числа от 6 до 10 включительно получить можно: 6: 1111 7: 1112 8: 1122 9: 1222 10: 2222 вторая: 11211
1. современное решение // pascalabc.net 3.2, сборка 1488 от 21.06.2017 // внимание! если программа не работает, обновите версию! function from5to10(self: sequence of string): sequence of integer; extensionmethod; // перевод последовательности заданных на строках пятиричных чисел // в последовательность целых десятичных чисел begin foreach var s in self do begin var r: =0; var pa: =1; foreach var c in s.reverse do begin r+=c.todigit*pa; pa*=5 end; yield r end end; begin var s: =readlnstring('введите строку: ').matchvalues('[0-4]+').from5to10; if s.count=0 then writeln('s=-1') else writeln('s=',s.sum) end. пример введите строку: sdf812973j223k s=73 2. решение на turbopascal ("так писали наши отцы и деды в 1983 году, так и нас сейчас учат в школе") uses crt; function from5to10(n: string): integer; { перевод из пятиричного числа в строковом представлении в целое десятичное } var i,pa,s: integer; begin s: =0; pa: =1; for i: =length(n) downto 1 do begin s: =s+pa*(ord(n[i])-ord('0')); pa: =pa*5 end; from5to10: =s end; var s,w: string; i,k,r: integer; begin clrscr; write('введите строку: '); readln(s); w: =''; r: =0; k: =0; for i: =1 to length(s) do begin if pos(s[i],'01234')> 0 then begin if w='' then k: =k+1; w: =w+s[i] end else if w< > '' then begin r: =r+from5to10(w); w: ='' end end; if k=0 then writeln('s=-1') else writeln('s=',r); readkey end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Kostolom200525.03.2023 13:17
-
elinakosogor3031.01.2020 13:52
-
MarcoMCorejz31.03.2021 05:27
-
styopyshca25.12.2020 23:56
-
polinakomarova320.05.2022 02:40
-
andrewbukharin217.12.2021 11:23
-
влад229905.03.2023 05:51
-
Юлиана9563120.02.2020 16:48
-
pidortema29.12.2020 18:57
-
DimaVlasov110.08.2020 12:31
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.