Поделитесь своими знаниями, ответьте на вопрос:
Задание 1. Оцените временную сложность алгоритма вычисления факториала (произведения) целого положительного числа. Значение x вводится с клавиатуры. Program gg; var m, i, x, f: Integer; begin m:=1; readln(x); for i:=2 to x do m:=m*i; F:=m; writeln(f); end.
152(10) = 10011000(2)
157(10) = 10011101(2)
Запишем их друг под другом
10011000
10011101
Нам нужен наибольший байт маски. В маске под единицами записывается адрес сети, под нулями - номер хоста. Адрес сети у этих адресов одинаковый, то есть для поиска наибольшего байта маски мы можем байты разделить так
10011 000
10011 101
Первые пять разрядов - это окончание адреса сети, последние три - начало хоста. Хосту в маске подсети соответствуют нули, адресу сети - единицы, получается, что наибольший байт маски равен
10011 000
10011 101
11111 000 - маска
11111000(2) = 248(10)