a = input()
print(a[-1:] if int(a) % 2 == 0 else a[-2:-1])
Объяснение:
1) Введем число как строку.
2) Конструкция "действие1 if условие1 else действие2" (она еще называется тернарным оператором) выполняет действие1, если условие1 возвращает True, иначе выполняется действие2. Это уменьшает количество строк кода с четырех до одной.
3) Выражение s[a:b] вернет все символы в строке s в диапазоне [a; b). Выражение s[a:] вернет все символы в строке s от a до конца строки. Если a или b отрицательные, то отсчет будет вестись с конца строки. Выражение s[-1:] вернет все символы в строке, начиная с последнего (т.е., последний символ). Ну а s[-2:-1] вернет все символы с предпоследнего до последнего, исключая последний (т.е., предпоследний символ).
pascalabc:
program f0rwardirop;
var r, x,y: real;
b: boolean;
begin
writeln('* alphaeus is *');
write('ok, введите r ='); readln(r);
write('теперь введите х ='); readln(x);
write('и, наконец, введите y ='); readln(y);
if x> =0 then
if (x*x+y*y < = r*r) then b: = true else b: =false
else
if (abs(x) < =r) and (abs(y) < =r) and (abs(x) < = abs(y)) then b: = true else b: =false;
if b then writeln('точка (',x,',',y,') принадлежит закрашенной области')
else writeln('точка (',x,',',y,') не принадлежит закрашенной области');
end.
Чтобы данное уравнение обращалось в 1, нужно что бы (K*L) ->M = 1 И N*K*V*L = 1.
составляем систему.
1) N*K*L*V = 1 только при N=K=L=V=1; следовательно возможно лишь одно решение данной части 1111. Проверим другую часть
2) K*L - > M = 1 Упростив, получим НЕ K * НЕ L * M = 1;
здесь уже больше вариантов, а именно
101; 111; 110; 100; 001, и для каждого еще подходят 2 значения переменной V, так как она не участвует в этой операции. Получим
1010 1011 1111 1110 1100 1101 1001 1000 0010 0011.
Но так как оба условия должны выполняться, то подходит лишь ответ 1111.
Опять же повторюсь, не уверен, что правильно!