М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Xzkto666
Xzkto666
30.08.2021 11:52 •  Информатика

Запись некоторого натурального числа х в шестнадцатеричной системе счисления имеет ровно два значащих разряда. это число увеличили в два раза, и оказалось, что запись получившегося числа у в шестнадцатеричной записи также имеет ровно два значащих разряда, причем сумма цифр шестнадцатеричной записи исходного числа х равна сумме цифр шестнадцатеричной записи полученного числа у. сколько существует таких чисел х, которые удовлетворяют указанным условиям? в ответе укажите целое число.

👇
Ответ:
X - исследуемое число
изменяется от 16 до 16*16/2-1=127
к - счетчик
а - младший знак 16-ричной записи числа х
b - старший знак 16-ричной записи числа х
c - младший знак 16-ричной записи числа 2х
d - старший знак 16-ричной записи числа 2х

k:=0
цикл по х от 16 до 127
{
b:= целое(х/16)
a:=x-16*b
d:= целое(2*х/16)
c:=2*x-16*b
если a+b = c+в то k:=k+1
}
ответ к
4,4(99 оценок)
Ответ:
Killjoy008
Killjoy008
30.08.2021
Задача достаточно интересная, получил удовольствие от решения.
Шестнадцатиричное число, занимающее два разряда, может рассматриваться как две тетрады двоичных чисел. Пронумеруем разряды слева направо, тогда можно представить двухзначное 16-ричное число следующим набором битов:
|a_3\,a_2\,a_1\,a_0\,|\,b_3\,b_2\,b_1\,b_0|
Индексы, кроме положения бита, показывают степень двойки, на которую надо умножить бит, чтобы перейти к десятичному эквиваленту шестнадцатиричной цифры, т.е. старшая цифра в десятичной системе запишется как
2^3*a_3+2^2*a_2+2^1*a_1+2^0*a_0=8a_3+4a_2+2a_1+a_0
Умножение числа на 2 в двоичной системе эквивалентно его сдвигу влево на один разряд. При этом старший разряд старшей тетрады должен перейти в новую, третью тетраду или он будет утерян. Но по условию, после умножения число по-прежнему имеет два разряда, следовательно мы должны потерять старший разряд безболезненно, а это возможно только если он нулевой.
Тогда первоначальное число должно быть записано как
|0\,a_2\,a_1\,a_0\,|\,b_3\,b_2\,b_1\,b_0|
а после удвоения его запись примет вид
|a_2\,a_1\,a_0\,b_3\,|\,b_2\,b_1\,b_0\,0|
Запишем сумму цифр исходного числа p1:
p1=(4a_2+2a_1+a_0)+(8b_3+4b_2+2b_1+b_0)
Теперь запишем сумму удвоенного числа p2:
p2=(8a_2+4a_1+2a_0+b_3)+(8b_2+4b_1+2b_0)
По условию эти две суммы равны и мы составляем уравнение:
p1=p2 \to p1-p2=0; \\ 4a_2+2a_1+a_0+8b_3+4b_2+2b_1+b_0- \\ (8a_2+4a_1+2a_0+b_3+8b_2+4b_1+2b_0)=0; \\ -4a_2-2a_1-a_0+7b_3-4b_2-2b_1-b_0=0; \\ b_3= \frac{1}{7}(4a_2+2a_1+a_0+4b_2+2b_1+b_0)\qquad \qquad (1)
Полученное уравнение решается на множестве двоичных чисел.
Поскольку исходное число двузначное, по крайней мере в старшем разряде оно содержит цифру, отличную от нуля. Следовательно, b3 не может равняться нулю и остается только положить b3=1. Тогда уравнение (1) примет следующий вид:
\frac{1}{7}(4a_2+2a_1+a_0+4b_2+2b_1+b_0)=1; \\ 4a_2+2a_1+a_0+4b_2+2b_1+b_0=7 \qquad \qquad (2)
Учитывая, что каждый бит может принимать значения только 0 и 1, мы должны найти такие комбинации бит, которые дадут в сумме 7=4+2+1, потому что у нас в уравнении только такие коэффициенты. Сгруппируем члены в (2):
4(a_2+b_2)+2(a_1+b_1)+(a_0+b_0)=7 \to \begin {cases} a_2+b_2=1 \\a_1+b_1=1 \\a_0+b_0=1 \end {cases} \qquad (3)
Полученная система уравнений будет иметь 7 вариантов решений (вариант a2=a1=a0=0 исключается в силу необходимости наличия цифры в старшем разряде), которым в старшем разряде будут соответствовать цифры от 001(2) до 111(2) или от 1(10) до 7(10).

ответ: 7

Замечание: Из (3) можно легко найти числа, которые соответствуют заданным условиям: 30, 45, 60, 75, 90, 105, 120 (все в десятичной системе счисления). В 16-ричной системе они запишутся как 1E, 2D, 3C, 4B, 5A, 69, 78.
4,8(57 оценок)
Открыть все ответы
Ответ:
Renavalion
Renavalion
30.08.2021
// PascalABC.NET 3.0, сборка 1128
const
  nmax=100;
var
  n,i,j,nn,nz,np,t:integer;
  a,an,az,ap:array[1..nmax] of integer;
begin
  // формируем массив и выводим его
  Write('Количество элементов в массиве: '); Read(n);
  for i:=1 to n do begin
    a[i]:=Random(11)-5;
    Write(a[i],' ')
    end;
  Writeln;
  // разбиваем массив на три подмассива
  nn:=0; nz:=0; np:=0;
  for i:=1 to n do
    if a[i]<0 then begin nn:=nn+1; an[nn]:=a[i] end
    else
      if a[i]=0 then begin nz:=nz+1; az[nz]:=a[i] end
      else begin np:=np+1; ap[np]:=a[i] end;
  // сортируем массив с отрицательными элементами по убыванию
  for i:=1 to nn-1 do
    for j:=1 to nn-1 do
      if an[j]<an[j+1] then
        begin t:=an[j]; an[j]:=an[j+1]; an[j+1]:=t end;
  // сортируем массив с положительными элементами по возрастанию
  for i:=1 to np-1 do
    for j:=1 to np-1 do
      if ap[j]>ap[j+1] then
        begin t:=ap[j]; ap[j]:=ap[j+1]; ap[j+1]:=t end;
  // формируем новое содержимое массива a
  i:=0;
  for j:=1 to nz do begin i:=i+1; a[i]:=az[j] end;
  for j:=1 to np do begin i:=i+1; a[i]:=ap[j] end;
  for j:=1 to nn do begin i:=i+1; a[i]:=an[j] end;
  // вывод результата
  for i:=1 to n do Write(a[i],' ');
  Writeln
end.

Тестовое решение:
Количество элементов в массиве: 15
1 2 5 0 -5 -3 0 0 1 -4 3 -2 -2 0 -5
0 0 0 0 1 1 2 3 5 -2 -2 -3 -4 -5 -5
4,5(34 оценок)
Ответ:
annetalovecamar
annetalovecamar
30.08.2021
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016
begin
  var n:=ReadInteger('Количество элементов в массиве: ');
  var a:=ArrRandom(n,-50,50);
  a.Println(',');
  Writeln('Четные элементы: ');
  var i:=1;
  while i<n do begin Write(a[i],' '); Inc(i,2) end;
  Writeln;
  Writeln('Нечетные элементы: ');
  i:=0;
  while i<n-1 do begin Write(a[i],' '); Inc(i,2) end;
  Writeln
end.

Тестовое решение:
Количество элементов в массиве:  10
15,-18,-29,-25,46,21,-8,-17,-9,15
Четные элементы:
-18 -25 21 -17 15
Нечетные элементы:
15 -29 46 -8 -9
4,8(11 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика

MOGZ ответил

Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ