3-lecture542293f295d6f

advertisement
Дистанционная подготовка к
Всероссийской олимпиаде по
информатике
Преподаватели:
к.ф.-м.н., заведующий кафедрой ВТиКГ ДВГУПС
Пономарчук Юлия Викторовна
E-mail: yulia.ponomarchuk@gmail.com
ст. преподаватель кафедры ВТиКГ ДВГУПС
Сухобок Юрий Андреевич
E-mail: khvyus@gmail.com
Занятие 3.
Системы счисления. Задачи на
арифметические алгоритмы
Позиционные системы счисления (ПСС)
Система счисления – способ записи чисел
Цифры – символы, с помощью которых
записываются целые неотрицательные числа
Алфавит – совокупность цифр
Позиционная система счисления – система
счисления, к которой количественный
эквивалент цифры зависит от ее положения в
записи числа
5047 = 5*1000 + 0*100 + 4*10 + 7*1
Позиционные системы счисления
Базис ПСС – последовательность чисел, каждое
из которых задает «вес» соответствующего
разряда
Традиционная ПСС – система счисления, базис
которой образуют члены геометрической
прогрессии,
знаменатель
которой
P
–
натуральное число, большее единицы, а
значения цифр – целые неотрицательные цифры
…, P-3, P-2, P-1, 1, P1, P2, P3, …
P – основание P-ричной системы счисления
Примеры нетрадиционных СС
Фибоначчиева система счисления
Алфавит: цифры 0 и 1
Базис: последовательность чисел Фибоначчи
1, 2, 3, 5, 8, 13, 21, 34, …
Факториальная система счисления
Алфавит: количество цифр увеличивается с
ростом номера разряда
Базис: 1!, 2!, 3!, …
Первые числа в 2-СС, 8-СС, 16-СС
10
2
8
16
10
2
8
16
0
0
0
0
9
1001
11
9
1
1
1
1
10
1010
12
A
2
10
2
2
11
1011
13
B
3
11
3
3
12
1100
14
C
13
1101
15
D
14
1110
16
E
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
15
1111
17
F
8
1000
10
8
16
10000
20
10
Арифметические операции в ПСС
• Сложение
• Вычитание
• Умножение
• Деление
(обычные правила выполнения операций «в
столбик»,
подробнее
рассмотрим
в
следующей лекции)
Перевод целых чисел из P-СС в 10-СС
an…a2a1a0 P = an*Pn + … + a2*P2 + a1*P1 +a0*P0
B0F916 = [1110][010][1510][910] =
= 1110*16103 + * 1510 16101 + 910 *16100 = 4530510
Схема Горнера:
an P  an 1P
n
n 1
 ...  a1P  a0 
1
  an P n 1  an 1 P n 2  ...  a1  P  a0 
  a P  a
 ...
n
n 1
 P  an2  P  an3  P  ...  a1  P  a0
Перевод целых чисел из 10-СС в P-СС
Способ деления на P с остатком
Арифметика остатков
(a+b) mod p = ((a mod p) + (b mod p)) mod p
(a-b) mod p = (p + (a mod p) – (b mod p)) mod p
при а>b
(a*b) mod p = ((a mod p) * (b mod p)) mod p
Аналогичной формулы для деления нет!
Пример 1. Плиты в треугольнике
Великая треугольная область (ВТО) представляет
собой прямоугольный треугольник. Его катеты
имеют целые длины m и n (2≤m,n≤2*109) и лежат
на осях координат. Нужно покрыть как можно
большую часть территории ВТО квадратными
плитами размером 1х1. Плиты должны плотно
прилегать одна к другой и к катетам ВТО, не
выходя за пределы области. Резать плиты нельзя.
Плиты поставляются только контейнерами по p
штук (100≤p≤10000); используется необходимый
минимум количества контейнеров. Вычислить,
сколько плит из последнего контейнера
останется после покрытия ВТО.
Пример 1. Плиты в треугольнике
K(m,n) – количество используемых плит ВТО
размером m на n.
1. Рассмотрим длины катетов, имеющие
общий делитель t (числа вида m=pt, n=qt)
2. Количество используемых плит описывает
формула:
Пример 1. Плиты в треугольнике
K(m,n) – количество используемых плит ВТО
размером m на n.
1. Рассмотрим длины катетов, имеющие
общий делитель t (числа вида m=pt, n=qt)
2. Количество используемых плит описывает
формула:
Пример 1. Плиты в треугольнике
Пример 1. Плиты в треугольнике
Если длины катетов взаимно просты:
Пример 2. Нули в конце факториала
Заданы натуральные числа N и p (оба в
диапазоне от 2 до 109). Найти количество
нулей в конце числа N!, записанного в
системе счисления с основанием p.
Пример. Вход: 7 10 Выход: 1
(7! записывается в десятичной системе
счисления как 5040, в конце этой записи
один ноль)
Пример 2. Нули в конце факториала
Download