1.6. Системы счисления, используемые в информатике
Система счисления — это совокупность приемов и правил записи чисел с цифр. Различают непозиционные ипозиционные системы счисления.
Внепозиционной системе счисления каждый символ имеет свое определенное значение, которое не зависит от положения символа в записи числа. Например, в римской системе счисления
I — 1, V — 5, X — 10, L — 50, C — 100, D — 500, M — 1000. Число 77 записывается LXXVII.
Впозиционной системе счисления значение любой цифры в изображении числа зависит от ее положения (позиции) в ряду цифр, изображающих данное число. Например: 77 — 7 единиц и 7 десятков.
Каждая позиционная система счисления имеет строго определенное количество символов (цифр) для обозначения любого числа:
–двоичная — 2: 0 и 1;
–десятичная — 10: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Количество цифр, используемых в позиционной системе счисления для записи чисел, называется основанием системы счисления. Основанием системы счисления может быть любое натуральное число.
Пусть q — основание системы, тогда любое число в системе счисления с основанием q можно представить в виде:
Аq =anqn +an–1qn–1 + ... +a1q1 +a0q0 +a–1q–1 +a–2q–2 + ... +a–kq–k,(3) гдеАq — число, записанное в системе счисления с основаниемq,
n + 1 — количество разрядов целой части числа,
аi — цифры числа, причем 0 ≤аi <q,
k — количество разрядов в дробной части числа.
В информатике используются только позиционные системы счисления: десятичная, двоичная, восьмеричная, шестнадцатеричная
function СуммаКвадратовЦифр(Число: integer): integer;
begin
Result := 0;
while Число > 0 do
begin
Result += Sqr(Число mod 10);
Число := Число div 10
end
end;
function ЧислоПервоклассное(Число: integer): boolean;
begin
Число := Abs(Число); // защита от злобных буратинок
var L:=new SortedSet<integer>;
L.Add(Число);
repeat
case Число of
0, 2, 3:
begin
Result := False;
Exit
end;
1:
begin
Result := True;
Exit
end;
else
begin
Число := СуммаКвадратовЦифр(Число);
if L.Contains(Число) then
begin
Result:=False;
Exit
end
else L.Add(Число)
end
end
until False // бесконечный цикл
end;
begin
var (НижняяГраница, ВерхняяГраница) := ReadInteger2;
var Количество := 0;
for var ОчередноеЧисло := НижняяГраница to ВерхняяГраница do
if ЧислоПервоклассное(ОчередноеЧисло) then Inc(Количество);
Количество.Println
end.
1 10020Система счисления — это совокупность приемов и правил записи чисел с цифр. Различают непозиционные ипозиционные системы счисления.
Внепозиционной системе счисления каждый символ имеет свое определенное значение, которое не зависит от положения символа в записи числа. Например, в римской системе счисления
I — 1, V — 5, X — 10, L — 50, C — 100, D — 500, M — 1000. Число 77 записывается LXXVII.
Впозиционной системе счисления значение любой цифры в изображении числа зависит от ее положения (позиции) в ряду цифр, изображающих данное число. Например: 77 — 7 единиц и 7 десятков.
Каждая позиционная система счисления имеет строго определенное количество символов (цифр) для обозначения любого числа:
–двоичная — 2: 0 и 1;
–десятичная — 10: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Количество цифр, используемых в позиционной системе счисления для записи чисел, называется основанием системы счисления. Основанием системы счисления может быть любое натуральное число.
Пусть q — основание системы, тогда любое число в системе счисления с основанием q можно представить в виде:
Аq =anqn +an–1qn–1 + ... +a1q1 +a0q0 +a–1q–1 +a–2q–2 + ... +a–kq–k,(3) гдеАq — число, записанное в системе счисления с основаниемq,
n + 1 — количество разрядов целой части числа,
аi — цифры числа, причем 0 ≤аi <q,
k — количество разрядов в дробной части числа.
В информатике используются только позиционные системы счисления: десятичная, двоичная, восьмеричная, шестнадцатеричная