На уроке рассматривается 14 задание, решение и объяснение ЕГЭ по информатике
Объяснение заданий 14 ЕГЭ по информатике
14-е задание: «Операции в системах счисления»
Уровень сложности — повышенный,
Требуется использование специализированного программного обеспечения — нет,
Максимальный балл — 1,
Примерное время выполнения — 5 минут.
Проверяемые элементы содержания: Знание позиционных систем счисления
До ЕГЭ 2021 года — это было задание № 16 ЕГЭ
Типичные ошибки и рекомендации по их предотвращению:
"Основные ошибки связаны с невнимательностью при выполнении арифметических действий
в недесятичных системах счисления. Например, вычитания единицы в ситуации типа: 10100002 – 1"
ФГБНУ "Федеральный институт педагогических измерений"
С основами темы можно ознакомиться в теории к заданию 1.
Перевод числа из любой системы счисления в десятичную
Чтобы перевести, например, 10045N
, из системы счисления с основанием N
в десятичную систему, нужно умножить значение каждой цифры на N
в степени, равной разряду этой цифры:
Особенности при переводах в разные системы счисления
Некоторые правила, которые нужно знать, при работе с системами счисления:
- последняя цифра (крайняя справа) в записи числа в системе счисления с основанием
N
– представляет собой остаток от деления этого числа на N
:
710 = 1112
7/2 = остаток 1
две крайние справа цифры числа в системе счисления с основанием N
– это остаток от деления этого числа на N²
, и так далее:
710 = 1112
112=310
7/22 = остаток 310 (112)
десятичное число 10N
записывается как единица и N
нулей:
тогда как десятичное число 2N>
в двоичной системе записывается как единица и N
нулей:
а десятичное число 3N
записывается в троичной системе в виде единицы и N
нулей:
можно сделать аналогичные выводы для любой системы счисления с основанием a
; общее правило:
десятичное 10N-1
записывается как N
девяток:
тогда как десятичное число 2N-1
в двоичной системе записывается как N
единиц:
а десятичное число 3N-1
записывается в троичной системе как N
двоек:
значит есть общее правило: число aN-1
в системе счисления с основанием a
записывается как N
старших цифр этой системы, то есть, цифр (a-1)
десятичное число 10N-10M
= 10M * (10N-M – 1)
записывается как N-M
девяток, за которыми стоят M
нулей:
тогда как десятичное число 2N – 2K
при K < N
в двоичной системе записывается как N – K
единиц и K
нулей:
то есть, существует общее правило:
Также следует знать, что верны равенства:
Решение заданий 14 ЕГЭ по информатике
Плейлист видеоразборов задания на YouTube:
Задание демонстрационного варианта 2022 года ФИПИ
Определите наибольшее/наименьшее значение x, y
14_14:
Операнды арифметического выражения записаны в системе счисления с основанием
15.
82x19₁₅ – 6x073₁₅
В записи чисел переменной x
обозначена неизвестная цифра из алфавита 15-ричной системы счисления. Определите наименьшее значение x
, при котором значение данного арифметического выражения кратно 11. Для найденного значения x
вычислите частное от деления значения арифметического выражения на 11 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.net:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| uses school;
begin
foreach var x in '0123456789abcde' do
begin
var a := dec('82'+ x +'19', 15);
var b :=dec('6' + x +'073', 15);
var sum := a - b;
if sum mod 11 = 0 then
begin
print(sum / 11);
break;
end
end;
end. |
uses school;
begin
foreach var x in '0123456789abcde' do
begin
var a := dec('82'+ x +'19', 15);
var b :=dec('6' + x +'073', 15);
var sum := a - b;
if sum mod 11 = 0 then
begin
print(sum / 11);
break;
end
end;
end.
|
Python:
|
С++:
|
Ответ: 7806
14_15:
Операнды арифметического выражения записаны в системах счисления с основаниями 15 и 17.
123x515 + 67y917
В записи чисел переменными x
и y
обозначены неизвестные цифры из алфавитов 15-ричной и 17-ричной систем счисления соответственно. Определите значения x
, y
, при которых значение данного арифметического выражения кратно 131. Для найденных значений x, y вычислите частное от деления значения арифметического выражения на 131 и укажите его в ответе в десятичной системе счисления. Если можно выбрать x, y не единственным образом, возьмите ту пару, в которой значение y меньше. Основание системы счисления в ответе указывать не нужно..
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.net:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| uses school;
begin
foreach var x in '0123456789abcde' do
begin
foreach var y in '0123456789abcdefg' do
begin
var a := dec('123' + x + '5', 15);
var b := dec('67' + y + '9', 17);
var sum := a + b;
if sum mod 131 = 0 then
begin
println($'{sum / 131} x={x} y={y}');
end
end;
end;
end. |
uses school;
begin
foreach var x in '0123456789abcde' do
begin
foreach var y in '0123456789abcdefg' do
begin
var a := dec('123' + x + '5', 15);
var b := dec('67' + y + '9', 17);
var sum := a + b;
if sum mod 131 = 0 then
begin
println($'{sum / 131} x={x} y={y}');
end
end;
end;
end.
|
Python:
|
С++:
|
Ответ: 686
Сколько цифр или сумма цифр
14_12:
Значение арифметического выражения
43∙7103 – 21∙757 + 98
записали в системе счисления с основанием 7.
Найдите сумму цифр получившегося числа и запишите её в ответе в десятичной системе счисления.
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.net, Решение 1:
1
2
3
4
5
6
7
8
9
10
11
12
| begin
var x,s: Biginteger;
x := 43*Biginteger.Pow(7, 103) - 21*Biginteger.Pow(7, 57) + 98;
// в получившемся числе рассматриваем каждую цифру в 7-й системе сч.
s:=0;
while x > 0 do
begin
s:=s+ x mod 7; // добавляем цифру правого разряда
x := x div 7; // убираем разряд числа в 7-й системе сч.
end;
println(s);
end. |
begin
var x,s: Biginteger;
x := 43*Biginteger.Pow(7, 103) - 21*Biginteger.Pow(7, 57) + 98;
// в получившемся числе рассматриваем каждую цифру в 7-й системе сч.
s:=0;
while x > 0 do
begin
s:=s+ x mod 7; // добавляем цифру правого разряда
x := x div 7; // убираем разряд числа в 7-й системе сч.
end;
println(s);
end.
|
PascalABC.net, Решение 2:
1
2
3
4
5
6
7
8
9
10
11
12
| uses school;
begin
var n: bigInteger;
n := 43 * Biginteger.Pow(7, 103) - 21 * Biginteger.Pow(7, 57) + 98;
print(n.ToString.ToBase(7).CountOf('1') +
n.ToString.ToBase(7).CountOf('2') * 2 +
n.ToString.ToBase(7).CountOf('3') * 3 +
n.ToString.ToBase(7).CountOf('4') * 4 +
n.ToString.ToBase(7).CountOf('5') * 5 +
n.ToString.ToBase(7).CountOf('6') * 6);
end. |
uses school;
begin
var n: bigInteger;
n := 43 * Biginteger.Pow(7, 103) - 21 * Biginteger.Pow(7, 57) + 98;
print(n.ToString.ToBase(7).CountOf('1') +
n.ToString.ToBase(7).CountOf('2') * 2 +
n.ToString.ToBase(7).CountOf('3') * 3 +
n.ToString.ToBase(7).CountOf('4') * 4 +
n.ToString.ToBase(7).CountOf('5') * 5 +
n.ToString.ToBase(7).CountOf('6') * 6);
end.
|
Python:
1
2
3
4
5
6
7
| x = 43*7**103 - 21*7**57 + 98
s = 0
# в получившемся числе рассматриваем каждую цифру в 7-й системе сч.
while x:
s+= x % 7 # добавляем цифру к сумматору
x //= 7 # убираем разряд числа в 7-й системе сч.
print( s ) |
x = 43*7**103 - 21*7**57 + 98
s = 0
# в получившемся числе рассматриваем каждую цифру в 7-й системе сч.
while x:
s+= x % 7 # добавляем цифру к сумматору
x //= 7 # убираем разряд числа в 7-й системе сч.
print( s )
|
С++:
|
Результат: 276
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.net, Решение 1:
1
2
3
4
5
6
7
8
9
10
11
12
| begin
var k := 0;
var x: Biginteger;
x := Biginteger.Pow(2, 1024) + Biginteger.Pow(4, 64) - 64;
// в получившемся числе рассматриваем каждую цифру в 2-й системе сч.
while x > 0 do
begin
if x mod 2 = 1 then k += 1; // если цифра = 1, то считаем ее
x := x div 2; // убираем разряд числа в 2-й системе сч.
end;
println(k);
end. |
begin
var k := 0;
var x: Biginteger;
x := Biginteger.Pow(2, 1024) + Biginteger.Pow(4, 64) - 64;
// в получившемся числе рассматриваем каждую цифру в 2-й системе сч.
while x > 0 do
begin
if x mod 2 = 1 then k += 1; // если цифра = 1, то считаем ее
x := x div 2; // убираем разряд числа в 2-й системе сч.
end;
println(k);
end.
|
PascalABC.net, Решение 2:
1
2
3
4
5
6
7
| uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(2, 1024) + Biginteger.Pow(4, 64) - 64;
print(x.ToString.ToBase(2).CountOf('1'));
end. |
uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(2, 1024) + Biginteger.Pow(4, 64) - 64;
print(x.ToString.ToBase(2).CountOf('1'));
end.
|
Python:
1
2
3
4
5
6
7
8
| x = 2**1024 + 4**64 - 64
k = 0
# в получившемся числе рассматриваем каждую цифру в 2-й системе сч.
while x:
if x % 2 == 1: # если цифра = 1, то считаем ее
k += 1
x //= 2 # убираем разряд числа в 2-й системе сч.
print( k ) |
x = 2**1024 + 4**64 - 64
k = 0
# в получившемся числе рассматриваем каждую цифру в 2-й системе сч.
while x:
if x % 2 == 1: # если цифра = 1, то считаем ее
k += 1
x //= 2 # убираем разряд числа в 2-й системе сч.
print( k )
|
С++:
|
✎ Решение теоретическое:
21024 + (22)64 - 26 = 21024 + 2128 - 26
При переводе в двоичную систему получим:
10...0 (1024 нуля) + 10...0 (128 нулей) - 10...0 (6 нулей)
Обратим внимание, что разница между числами большая. Т.е. при выполнении сложения в столбик, единицы в одном и том же разряде быть не могут. Так:
10....00000 - 1024 нуля
+
10..0 - 128 нулей
_________________________
10....10..0
Из первого слагаемого 10...0 (1024 нуля) запомним одну единицу в старшем бите, остальные нули нас не интересуют, так как далее мы воспользуемся другим правилом - для разницы:
10....00000 - 1024 нуля
+
10..0 - 128 нулей
_________________________
10....10..0 - запомним единицу
Существует также правило:
2N - 2K = 1...1 (N - K
единиц)0...0(K
нулей)
По формуле выполним вычитание 2128 - 26: получим 1..1 (122 единицы) 0..0(6 нулей):
10..0000000 - 128 нулей
-
1000000
_________________________
11..1000000 - 122 единицы и 6 нулей
Прибавим к 122 получившимся единицам еще одну из первого слагаемого (10...0 (1024 нуля)) и получим:
122 + 1 = 123 единицы
Результат: 123
Также можно посмотреть видео решения 14 задания ЕГЭ по информатике (аналитическое решение):
📹 YouTube здесь
📹 Видеорешение на RuTube здесь
14_3:
14 задание. Демоверсия ЕГЭ 2018 информатика:
Значение арифметического выражения:
4910 + 730 – 49
записали в системе счисления с основанием 7.
Сколько цифр «6» содержится в этой записи?
Типовые задания для тренировки
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.net, решение 1:
1
2
3
4
5
6
7
8
9
10
11
12
| begin
var x: Biginteger;
x := Biginteger.Pow(49, 10) + Biginteger.Pow(7, 30) - 49;
// в получившемся числе рассматриваем каждую цифру в 7-й системе сч.
var k:=0;
while x > 0 do
begin
if x mod 7 = 6 then k+=1; // если цифра = 6, то считаем ее
x := x div 7; // убираем разряд числа в 7-й системе сч.
end;
println(k);
end. |
begin
var x: Biginteger;
x := Biginteger.Pow(49, 10) + Biginteger.Pow(7, 30) - 49;
// в получившемся числе рассматриваем каждую цифру в 7-й системе сч.
var k:=0;
while x > 0 do
begin
if x mod 7 = 6 then k+=1; // если цифра = 6, то считаем ее
x := x div 7; // убираем разряд числа в 7-й системе сч.
end;
println(k);
end.
|
PascalABC.net, решение 2:
1
2
3
4
5
6
7
| uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(49, 10) + Biginteger.Pow(7, 30) - 49;
print(x.ToString.ToBase(7).CountOf('6'));
end. |
uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(49, 10) + Biginteger.Pow(7, 30) - 49;
print(x.ToString.ToBase(7).CountOf('6'));
end.
|
Python:
1
2
3
4
5
6
7
8
| x = 49**10 + 7**30 - 49
k = 0
# в получившемся числе рассматриваем каждую цифру в 7-й системе сч.
while x:
if x % 7 == 6: # если цифра = 6, то считаем ее
k += 1
x //= 7 # убираем разряд числа в 7-й системе сч.
print( k ) |
x = 49**10 + 7**30 - 49
k = 0
# в получившемся числе рассматриваем каждую цифру в 7-й системе сч.
while x:
if x % 7 == 6: # если цифра = 6, то считаем ее
k += 1
x //= 7 # убираем разряд числа в 7-й системе сч.
print( k )
|
С++:
|
✎ Решение теоретическое:
- Приведем все числа к степеням 7:
720 + 730 - 72
Расставим операнды выражения в порядке убывания степеней:
730 + 720 - 72
Вспомним две формулы для работы со системами счисления:
1.
an = 10..0a
n
2.
an - am = (a-1)..(a-1)0..0a
n-m m
Переведем первое число согласно формуле 1:
730 = 10..0
30
В данном числе нет цифры 6, как и в остальных числах.
Цифра 6 появляется при выполнении вычитания.
Подсчитаем все "6", используя формулу 2:
0 + (20 - 2) = 18
Получаем шестерок: 18
Результат: 18
Подробное решение 14 задания демоверсии ЕГЭ смотрите на видео (аналитическое решение):
📹 YouTube здесь
📹 Видеорешение на RuTube здесь
14_2:
Значение арифметического выражения:
4500 + 3*42500 + 16500 - 1024
записали в системе счисления с основанием
4.
Сколько цифр "3" содержится в этой записи?
Типовые задания для тренировки
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.net:
1
2
3
4
5
6
7
| uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(4,500) + 3*Biginteger.Pow(4,2500) + Biginteger.Pow(16,500) - 1024;
print(x.ToString.ToBase(4).CountOf('3'));
end. |
uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(4,500) + 3*Biginteger.Pow(4,2500) + Biginteger.Pow(16,500) - 1024;
print(x.ToString.ToBase(4).CountOf('3'));
end.
|
Python:
1
2
3
4
5
6
7
8
| x = 4**500 + 3*4**2500 + 16**500 - 1024
k = 0
# в получившемся числе рассматриваем каждую цифру в 4-й системе сч.
while x:
if x % 4 == 3: # если цифра = 3, то считаем ее
k += 1
x //= 4 # убираем разряд числа в 4-й системе сч.
print( k ) |
x = 4**500 + 3*4**2500 + 16**500 - 1024
k = 0
# в получившемся числе рассматриваем каждую цифру в 4-й системе сч.
while x:
if x % 4 == 3: # если цифра = 3, то считаем ее
k += 1
x //= 4 # убираем разряд числа в 4-й системе сч.
print( k )
|
С++:
|
Результат: 496
Подробное решение данного 14 задания ЕГЭ по информатике можно посмотреть на видео (аналитическое решение):
📹 YouTube здесь
📹 Видеорешение на RuTube здесь
14_5:
Значение арифметического выражения:
81024 + 832 – 65 – записали в системе счисления с основанием
8.
Сколько цифр «7» содержится в этой записи?
Типовые задания для тренировки
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.net:
1
2
3
4
5
6
7
| uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(8,1024) + Biginteger.Pow(8,32) - 65;
print(x.ToString.ToBase(8).CountOf('7'));
end. |
uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(8,1024) + Biginteger.Pow(8,32) - 65;
print(x.ToString.ToBase(8).CountOf('7'));
end.
|
Python:
1
2
3
4
5
6
7
8
| x = 8**1024 + 8**32 - 65
k = 0
# в получившемся числе рассматриваем каждую цифру в 8-й системе сч.
while x:
if x % 8 == 7: # если цифра = 7, то считаем ее
k += 1
x //= 8 # убираем разряд числа в 8-й системе сч.
print( k ) |
x = 8**1024 + 8**32 - 65
k = 0
# в получившемся числе рассматриваем каждую цифру в 8-й системе сч.
while x:
if x % 8 == 7: # если цифра = 7, то считаем ее
k += 1
x //= 8 # убираем разряд числа в 8-й системе сч.
print( k )
|
С++:
|
✎ Решение теоретическое:
- Приведем все числа к степеням восьмерки:
65 = 64 + 1 = 82 + 80;
Получаем:
81024 + 832 - (82 + 80);
81024 + 832 - 82 - 80
Вспомним две формулы для работы с системами счисления:
1.
an = 10..0a
n
2.
an - am = (a-1)..(a-1)0..0a
n-m m
Переведем первое число согласно формуле 1:
81024 = 10..0
1024
В данном числе нет цифры 7, как и в остальных числах.
Цифра 7 появляется при выполнении вычитания. У нас два таких действия, идущих подряд. Это неудобно. Необходимо, чтобы действия чередовались (a + b - c + d - e...)
Вспомним еще одну формулу:
3.
-2n = -2n+1 + 2n
! Формула предназначена для чисел в двоичной системе счисления,
но для подсчета цифр "7" в 8-й (или "6" в 7-й и т.п.) ее можно использовать
(для поиска единиц или нулей она не подходит!!!)
В нашем случае заменим часть выражения:
-82 = -83 + 82
! обратите внимание, что тождество неверно, но
при поиске количества "7" этой формулой можно воспользоваться
(для поиска единиц или нулей она не подходит!)
Получаем:
81024 + 832 - 83 + 82- 80
Получили чередование операций "+" и "-".
Теперь посчитаем все "7", используя формулу 2:
0 + (32 - 3) + (2 - 0) = 31
Получаем семерок: 31
Результат: 31
14_13:
Сколько значащих нулей в двоичной записи числа 4350 + 8340 – 2320 – 12
?
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.net, решение 1:
1
2
3
4
5
6
7
8
9
10
11
12
13
| begin
var b2 := biginteger(2);
var numb := (2 * b2) ** 350 + (4 * b2) ** 340 - (1 * b2) ** 320 - 12;
var digit: biginteger;
var n := 0;
while numb > 0 do
begin
digit := numb mod 2;
if digit = 0 then n += 1;
numb := numb div 2
end;
print(n)
end. |
begin
var b2 := biginteger(2);
var numb := (2 * b2) ** 350 + (4 * b2) ** 340 - (1 * b2) ** 320 - 12;
var digit: biginteger;
var n := 0;
while numb > 0 do
begin
digit := numb mod 2;
if digit = 0 then n += 1;
numb := numb div 2
end;
print(n)
end.
|
PascalABC.net, решение 2:
1
2
3
4
5
6
7
| uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(4,350) + Biginteger.Pow(8,340) - Biginteger.Pow(2,320) - 12;
print(x.ToString.ToBase(2).CountOf('0'));
end. |
uses school;
begin
var x: bigInteger;
x := Biginteger.Pow(4,350) + Biginteger.Pow(8,340) - Biginteger.Pow(2,320) - 12;
print(x.ToString.ToBase(2).CountOf('0'));
end.
|
Python:
1
2
3
4
5
6
7
| x = 4**350 + 8**340 - 2**320 - 12
print(x)
k = 0
while x:
if x % 2 == 0: k += 1
x //= 2
print( k ) |
x = 4**350 + 8**340 - 2**320 - 12
print(x)
k = 0
while x:
if x % 2 == 0: k += 1
x //= 2
print( k )
|
С++:
|
✎ Решение теоретическое:
4350 + 8340 – 2320 – 12
- По возможности приведем каждое слагаемое к степеням 2. Получим:
(22)350 + (23)340 - 2320 - 3*22 =
(22)350 + (23)340 - 2320 - 12 =
2700 + 21020 - 2320 - (23 + 22)
Далее рассуждаем так: количество нулей можно найти, если из общего количества цифр в результирующем числе вычесть количество не нулей (любых других цифр).
Расположим операнды по убыванию:
21020 + 2700 - 2320 - 23 - 22
Наибольшее число 21020, в нем 1021 разряд в двоичной с.с. (одна единица и 1020 нулей). То есть всего 1021 знаков.
Для того, чтобы избежать два подряд идущих минуса, воспользуемся правилом -2n = -2n+1+2n
и преобразуем выражение:
21020 + 2700 - 2321+ 2320- 24 + 23 - 22
Посчитаем количество не нулей в каждом операнде:
21020 -> один не ноль
2700 - 2321 -> 379 не нулей
2320- 24 -> 316 не нулей
23 - 22 -> один не ноль
Итого: 1+ 379+316 +1 = 697
Получаем нулей:
1021 - 697 = 324
Результат: 324
Задания прошлых лет для тренировки
Найти основание системы счисления и уравнения
14_7:
Укажите, сколько всего раз встречается цифра 2 в записи чисел 13, 14, 15, …, 23 в системе счисления с основанием 3.
Типовые задания для тренировки
✍ Решение:
- Для начала достаточно перевести первое и последнее число предложенного интервала в троичную систему счисления. Сделаем это:
1.
13 | 3
12 4 | 3
1 3 1
1
1310 = 1113
2.
23 | 3
21 7 | 3
2 6 2
1
2310 = 2123
Теперь добавим промежуточные числа в троичной системе счисления (прибавляя единицу к каждому очередному полученному числу), не забывая, что в троичной системе всего три цифры (0, 1 и 2):
111, 112, 120, 121, 122, 200, 201, 202, 210, 211, 212
На всякий случай стоит посчитать количество полученных чисел и сравнить их с количеством чисел в исходной последовательности.
Теперь осталось посчитать количество цифр 2 в полученной последовательности. Их 13:
111, 112, 120, 121, 122, 200, 201, 202, 210, 211, 212
Ответ: 13
✍ Решение:
- Разделим уравнение на три части и вычислим каждую часть отдельно (выделим части разным цветом):
204N+1 = 204N + 2616
1 2 3
Используем формулу разложения числа по степеням основания:
1.
210
204N+1
По формуле получаем:
2*(N+1)2 + 0*(N+1)1 + 4*(N+1)0 =
= 2*(N2 + 2N + 1) + 0 + 4 = 2N2 + 4N + 6
Выполним то же самое для остальных двух частей:
2.
210
204N
По формуле получаем:
2*N2 + 0*N1 + 4*N0 =
= 2N2 + 4
3.
2616 = 3810
Подставим результаты всех частей в уравнение:
2N2 + 4N + 6 = 2N2 + 4 + 38;
4N = 36;
N = 9
Результат: 9
✍ Решение:
- Вместо обозначения искомой системы счисления введем неизвестное x:
144x + 24x = 201x
Запишем формулу перевода в десятичную систему счисления каждого из слагаемых и сумму исходного равенства:
144 + 24 = 201
1*x2 + 4*x1 + 4*x0 + 2*x1 + 4*x0 = 2*x2 + 0*x1 + 1*x0
Упростим полученное уравнение:
x2 - 6x - 7 = 0
Решим уравнение:
D = b2 - 4ac = 36 - 4*1*(-7) = 64
x = (-b ± √D)/2a
x1 = (6 + 8)/2 = 7
x2 = (6 - 8)/2 - не подходит
x = 7
Ответ: 7
14_9:
В некоторой системе счисления записи десятичных чисел
68 и
94 заканчиваются на
3.
Определите основание системы счисления.
Типовые задания для тренировки
✍ Решение:
- Вспомним правило:
Последняя цифра записи числа в системе счисления с основанием X - это остаток от деления этого числа на X
- Примем искомую систему счисления за x. Тогда, исходя из приведенного правила имеем:
94 / x = некоторое число и остаток 3
и
68 / x = некоторое число и остаток 3
Поскольку x должно быть целым числом, то следующее деление должно выполняться без остатка:
91/x
65/x
Иными словами x - наибольший общий делитель чисел 91 и 65.
Найдем НОД, например, по алгоритму Евклида:
91 - 65 = 26
65 - 26 = 39
39 - 26 = 13
26 - 13 = 13
Получаем результат 13.
Ответ: 13
14_10:
Некоторое число
X из десятичной системы счисления перевели в системы счисления с основаниями
16,
8. Часть символов при записи утеряна. Позиции утерянных символов обозначены
*
:
X = *516 = *0*8
Сколько чисел соответствуют условию задачи?
Типовые задания для тренировки
✍ Решение:
- Данные числа с утерянными символами переведем из 16-й и из 8-й системы счисления в двоичную. Перевод будем делать триадами и тетрадами, неизвестные позиции оставим пустыми:
1. *516
* | 5 16
* * * * | 0 1 0 1 2
2. *0*8
* | 0 | * 8
* * *|0 0 0|* * * 2
Сопоставим известные и неизвестные биты в обеих получившихся масках:
* * 0 0 0 1 0 1
Неизвестными остались 7-й и 8-й бит. Они не могут быть одновременно нулями, так как для *0*8 тогда исчезнет старший разряд. Поэтому оставшиеся варианты будут такими:
1. 01000101
2. 10000101
3. 11000101
Итого 3 варианта.
Ответ: 3
Предлагаем посмотреть видео решения данного 14 задания ЕГЭ (аналитическое решение):
📹 YouTube здесь
📹 Видеорешение на RuTube здесь
14_4:
Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 75 оканчивается на 13.
Типовые задания для тренировки
✍ Решение:
- Так как 75 должно оканчиваться на 13, то имеем два общих случая:
1. 7510 = 13N
2. 7510 = ...13N (число оканчивается на 13)
Рассмотрим подробно каждый случай.
1 случай:
Остаток должен быть равен 3 (последнее число в неизвестной системе), а частное должно равняться 1 (предпоследнее число в неизвестной системе):
75|N
N|1 отсюда имеем => 75 - N = 3; т.е. N = 72
3
Таким образом, мы получили одно из искомых оснований (72).
2 случай:
Искомое оканчивается на цифру 3, значит:
75|N
72|y отсюда имеем => 75 = Ny + 3, где N - целое, неотриц.
3
и далее, частное от деления - 1 (предпоследнее число):
75|N
72| y |N => y = Nz + 1, где z - целое, неотриц.
3 y-1|z
1
Получаем два равенства (систему уравнений):
75 = Ny + 3
y = Nz + 1
Подставим y из второго равенства в первое:
75 = N (Nz + 1) + 3;
75 = N2z + N + 3;
75 = N2z + N
Выразим z:
z = (72 - N)/N2
Учитывая то, что z - целое неотрицательное число, то 72 - N должно быть кратно N2, т.е. в числителе не может быть простого числа.
Простое число 67 получается путем вычитания из 72 числа 5. Соответственно, 5 нам не подходит: N ≠ 5:
72 - 5 / 52 = 67 / 25 не делится, - не подходит!
Еще одно простое число - 71 получится при вычитании 72 - 1. Единица не подходит, так как при переводе в конце числа никак не останется 13: N ≠ 1.
Раз в знаменателе N2, то отбросим все числа, квадрат которых больше 72: 9, 10, ... и т.д. до бесконечности: N < 9
Раз в итоговом числе есть число 13, значит основание системы счисления больше 3 (т.е. цифра три присутствует в системах, начиная с 4-й): N >= 4
Проверим оставшиеся варианты - 4, 6, 7, 8:
75 | 4
72 | 18| 4
3 16| 2
2 => не подходит! должна быть единица
75 | 6
72 | 12| 6
3 12| 1
0 => не подходит! должна быть единица
75 | 7
70
5 => не подходит! должна быть 3
75 | 8
72 | 9| 8
3 8| 1
1 => подходит!
Результат: 8,72
Видеоразбор решения (аналитический способ):
📹 YouTube здесь
📹 Видеорешение на RuTube здесь
14_11:
Выражение 25*325 записано в троичной системе счисления. Определите, сколько в этой записи цифр 0, 1 и 2.
✍ Решение:
Рассмотрим каждый сомножитель отдельно.
- Первый сомножитель:
25 = 32
Переведем в троичную систему счисления (делением на 3, переписываем остатки).
Результат:
3210 = 10123
Для рассмотрения второго сомножителя будем использовать правило:
Получим:
325 = 10..0{25 нулей}3
Выполним произведение, но для простоты счета, представим, что нулей не 25, а только 3:
1000 x
1012 =
----
2000
1000
0000
1000
-------
1012000
В исходном числе было 3 нуля, стало 4. Значит если было 25 нулей, то станет 25 + 1 = 26.
Единиц = 2, двоек = 1.
Ответ: "0"=26, "1"=2, "2"=1
Смотрите видео разбора на нашем канале (аналитическое решение):
📹 YouTube здесь
📹 Видеорешение на RuTube здесь
последнее видео неправильно! В порядке возрастания, т.е. от меньшего к большему
так и есть, в порядке возрастания: сначала 8, потом 72
В 14_11 ошибка. В ответе не 26, а 25 нулей. Как было 25, так и останется — не надо прибавлять ещё один ноль. Посчитал вручную и перепроверил на калькуляторе:
32 * 3^25 = 32 * 847288609443 = 27113235502176 = 1012,00000,00000,00000,00000,00000\/3.