В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Saeg
Saeg
18.06.2022 03:18 •  Информатика

Проблема с кодом в паскаль

Program ERROR;

Const N=30;

Type T_Mas=Array[1..N+1] of Integer;

Var Mas :T_Mas;

K,X,RAZMER:Integer;

Procedure Init1(Var Kol:Integer;Var M:T_Mas);

Procedure Print1(Kol:Integer; Var M:T_Mas);

Procedure Insert1(Kol,K1,X1:Integer;Var M:T_Mas);

Var I:Integer;

Begin {сдвиг элементов на одну позицию назад}

For I:=Kol DownTo K1+1 Do M[I+1]:=M[I];

M[K1+1]:=X1

End;

Begin

Init1(RAZMER,Mas);

Print1(RAZMER,Mas);

WriteLn('20');

WriteLn ('1');

ReadLn(K,X);

Insert1(RAZMER,K,X,Mas);

Print1(RAZMER+1,Mas);

End.

что не так с этим кодом? (паскаль)

Показать ответ
Ответ:
Evagevko
Evagevko
09.07.2021 10:08
В задаче имеется "топорное решение" — посчитать напрямую. Получившееся число будет восьмизначным, что не так уж и страшно, если в голову не приходят другие решения.

Рассмотрим, однако, решение, которое позволит делать подобные задачи без прямого подсчёта. Для этого, прежде всего, переведём всё в степени тройки:

98328316+35+35+35−9−32−32==
9
8
+
3
5
−9 =
3
2
8
+
3
5

3
2
=
3
16
+
3
5

3
2

Как представляется число 3n в троичной системе счисления? Давайте подумаем, как мы переводим из десятичной системы в троичную? Сначала делим на 3, затем частное делим на 3, затем новое частное на 3 и т.п. Что получится в случае деления 3n на 3? Очевидно, что 3n-1. А если его поделить дальше на 3, то получится 3n-2. Если так сделать n раз, то в конце останется 30, то есть. Таким образом, это будет число 100..00, где количество нулей равно n.

То есть, например, 8-ая степени тройки в троичной системе представима в виде 1000000003. А 35 — это 1000003.

Вернёмся теперь к нашей сумме. Давайте сначала в столбик сложим 316 и 35 в троичной системе счисления.

100…000000016100000100…0⏟10100000 1
00

0000000

16
100000 1
00

0

10
100000

Теперь остаётся из этого вычесть 32. Для этого придётся "занять" разряд. Но принцип тут такой же, как и в обычной, десятичной системе счисления, только 0 будут превращаться не в 9, а в 2 (самую большую цифру в троичной системе счисления:

100…0⏞10100000−100100…0⏟10022200 1
00

0

10
100000 −100 1
00

0

10
022200

Таким образом, количество двоек в указанной сумме получилось равным 3.

ответ: 3 двойки в троичной записи.
0,0(0 оценок)
Ответ:
beka22535
beka22535
21.11.2022 22:55
Использовать Чертежник
алг 
нач 
опустить перо
сместиться на вектор (0,4)
сместиться на вектор (-1,-1)
поднять перо
сместиться на вектор (4,-3)
опустить перо
сместиться на вектор (-2,0)
сместиться на вектор (2,2)
сместиться на вектор (0,2)
сместиться на вектор (-2,0)
поднять перо
сместиться на вектор (3,0)
опустить перо
сместиться на вектор (2,0)
сместиться на вектор (-2,-2)
сместиться на вектор (2,0)
сместиться на вектор (-2,-2)
поднять перо
сместиться на вектор (5,0)
опустить перо
сместиться на вектор (0,4)
сместиться на вектор (-2,-3)
сместиться на вектор (2,0)
поднять перо
сместиться на вектор (1,-1)
опустить перо
сместиться на вектор (2,0)
сместиться на вектор (0,2)
сместиться на вектор (-2,0)
сместиться на вектор (0,2)
сместиться на вектор (2,0)
кон
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота