Переводим третий байт IP адреса (127) и адреса сети (64) в двоичную систему: 1111111 - ip 1000000 - net
Добавим незначащие нули, чтобы кол-во бит было равно восьми:
01111111 - ip 01000000 - net
Адрес сети получается в результате применения поразрядной конъюнкции к разрядам ip адреса и маски, то есть смотрим, какими должны быть биты маски, чтобы при умножении их на биты IP-адреса получились такие биты адреса сети, какие нам даны:
11000000 - mask 01111111 - ip 01000000 - net
Учитываем, что в маске всегда идут сначала единицы, потом только нули.
#!/usr/bin/env python # coding: utf-8 """Определение типа треугольника по сторонам. Python 2.X. """
msg = 'Введите стороны треугольника: ' input = raw_input(msg).split()
try: a, b, c = [float(i) for i in input] except ValueError: print('Введены не числовые значения! Выход...') quit()
if (a >= b + c or b >= a + c or c >= a + b): print('Не', end=' ') elif a ** 2 + b ** 2 == c ** 2: print('Прямоугольный', end=' ') elif (a ** 2 + b ** 2 > c ** 2 and a ** 2 + c ** 2 > b ** 2 and c ** 2 + b ** 2 > a ** 2): print('Остроугольный', end=' ') else: print('Тупоугольный', end=' ') print('треугольник')
var n,i,c,m,p:integer;
begin
m:=0;
p:=0;
writeln('Введите количество чисел.');
readln(n);
for i:=0 to n-1 do
begin
readln(c);
if c < 0 then m:=m+1
else if c = 0 then continue
else p:=p+1;
end;
if p < m then writeln('Отрицательных чисел больше, чем положительных.')
else if p > m then writeln('Положительных чисел больше, чем отрицательных.')
else writeln('Равное количество положительных и отрицательных чисел');
end.
Объяснение:
Переменные:
n - количество чисел, i - счетчик цикла for, c - считанное значение, m - счетчик отрицательных чисел, p - счетчик положительных чисел.
Считаем, что "0" - ни положительное, ни отрицательное число.