//PascalABC.NET Версия 3.0 Сборка 1150 var n:integer; begin writeln('Сколько стоит товар?'); readln(n); n:=1000-n; writeln('Сдача ',n,' рублей. Нужны купюры:'); writeln(n div 500, ' по 500 рублей, ', (n-(n div 500)*500)div 100, ' по 100 рублей, ', (n mod 100) div 50, ' по 50 рублей, ', (n-(n div 50)*50) div 10,' по 10 рублей, и ещё ', n mod 10, ' рублей мелочью.'); end.
Результат работы: Сколько стоит товар? 324 Сдача 676 рублей. Нужны купюры: 1 по 500 рублей, 1 по 100 рублей, 1 по 50 рублей, 2 по 10 рублей, и ещё 6 рублей мелочью.
Переводим 3 байт обоих адресов в двоичную систему счисления 152(10) = 10011000(2) 157(10) = 10011101(2)
Запишем их друг под другом
10011000 10011101
Нам нужен наибольший байт маски. В маске под единицами записывается адрес сети, под нулями - номер хоста. Адрес сети у этих адресов одинаковый, то есть для поиска наибольшего байта маски мы можем байты разделить так 10011 000 10011 101
Первые пять разрядов - это окончание адреса сети, последние три - начало хоста. Хосту в маске подсети соответствуют нули, адресу сети - единицы, получается, что наибольший байт маски равен
var n:integer;
begin
writeln('Сколько стоит товар?');
readln(n);
n:=1000-n;
writeln('Сдача ',n,' рублей. Нужны купюры:');
writeln(n div 500, ' по 500 рублей, ', (n-(n div 500)*500)div 100, ' по 100 рублей, ', (n mod 100) div 50, ' по 50 рублей, ', (n-(n div 50)*50) div 10,' по 10 рублей, и ещё ', n mod 10, ' рублей мелочью.');
end.
Результат работы:
Сколько стоит товар?
324
Сдача 676 рублей.
Нужны купюры:
1 по 500 рублей, 1 по 100 рублей, 1 по 50 рублей, 2 по 10 рублей, и ещё 6 рублей мелочью.
152(10) = 10011000(2)
157(10) = 10011101(2)
Запишем их друг под другом
10011000
10011101
Нам нужен наибольший байт маски. В маске под единицами записывается адрес сети, под нулями - номер хоста. Адрес сети у этих адресов одинаковый, то есть для поиска наибольшего байта маски мы можем байты разделить так
10011 000
10011 101
Первые пять разрядов - это окончание адреса сети, последние три - начало хоста. Хосту в маске подсети соответствуют нули, адресу сети - единицы, получается, что наибольший байт маски равен
10011 000
10011 101
11111 000 - маска
11111000(2) = 248(10)