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

Как правильно назвать "в чолуле" или "вчолуле" добрые и умные люди !

Показать ответ
Ответ:
vanzoca
vanzoca
18.11.2020 02:29
Function aToDec(n:string;k:integer):longint;
{ Перевод из системы по основанию k в десятичную }
var
  i:integer;
  pa,s:longint;
begin
  s:=0;
  pa:=1;
  for i:=Length(n) downto 1 do begin
    s:=s+pa*(Ord(n[i])-Ord('0'));
    pa:=pa*k
    end;
  aToDec:=s
end;

function DecToa(n:longint;k:integer):string;
{ Перевод из десятичной системы в систему по основанию k }
var
  s:string;
  c:integer;
begin
  s:='';
  c:=Ord('0');
  while n>0 do begin
    s:=Chr(c+n mod k)+s;
    n:=n div k
    end;
  DecToa:=s
end;

function AtoB(s:string;A,B:integer):string;
{ Перевод из системы по основанию A в систему по основанию B }
begin
  AtoB:=DecToa(aToDec(s,A),B)
end;
    
var
  a,b:integer;
  n:string;
begin
  Write('Число в c/c по основанию [2;10]: '); Readln(n);
  Writeln('Укажите исходное и результирующее основания: ');
  Read(a,b);
  Writeln(n,'(',a,') = ',AtoB(n,a,b),'(',b,')');
end.

Пример решения
Число в c/c по основанию [2;10]: 643342414
Укажите исходное и результирующее основания:
7 9
643342414(7) = 80050347(9)
0,0(0 оценок)
Ответ:
MissEvaStar
MissEvaStar
27.07.2022 22:30
2^n в двоичной системе - это 1 и n нулей после неё. Например, 2^5(10) = 100000(2)
Приведём все степени к основанию 2

2^3702-2^468+2^1620-108

-108 можно представить как -128 + 16 + 4

2^3702-2^468+2^1620-2^7 + 2^4 + 2^2

Теперь выстраиваем степени в порядке убывания:

2^3702+2^1620-2^468-2^7 + 2^4 + 2^2

В выражении два вычитания подряд, избавимся от этого, заменив -2^468 на -2^469 + 2^468

2^3702+2^1620 -2^469+2^468-2^7 + 2^4 + 2^2

2^3702 - 1 единица
2^4 - 1 единица
2^2 - 1 единица

Количество единиц в вычитаниях будет равно разнице степеней. Например 1000000-100=1111

2^1620 -2^469 - количеств единиц 1620-469 = 1151
2^468-2^7 - количество единиц 468-7 = 461
Общее количество единиц равно 3+1151+461 = 1615
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота