<span>кристалл кремния,на котором размещаются от десятков до сотен тысяч логичеких элементов</span>
<span>n = int(input<span>())
</span>digs <span>= []
</span>while n > 0<span>:
</span> digs.append(n % 10<span>)
</span> n //= <span>10
</span>if digs[:len(digs) // 2] == digs[len(digs) // 2 + len(digs) % 2: ][::-1<span>]:
</span> print('YES'<span>)
</span>else<span>:
</span> print('NO'<span>)</span></span>
A=9, b=8, c=2
if (9>8) and (8>2) ⇒ if True and True ⇒ if True и выполняется оператор после then:
x=2*9+8+2=18+8+2=28
Ответ: х=28
Тернарный оператор должен возвращать значение (или ссылку на переменную), которое потом можно использовать. Например, если в целочисленной переменной a записано число -3, то используя такой синтаксис:
int absa = a >= 0 ? a : -a;
можно присвоить переменной absa значение |-3| = 3.
Выражения break, continue (и, например, return) управляют выполнением программы, показывая, какую инструкцию выполнять следующей, и не возвращают никакого значения (даже void). Поэтому при попытке использовать такие выражения в качестве аргументов тернарного оператора, ожидающего, что оба аргумента вернут какое-то значение, возникает ошибка компиляции.
Если очень хочется использовать тернарный оператор для выхода из цикла (но зачем?) можно выбрасывать исключение, которое потом обрабатывать, например, так:
try {
int a = 5;
while(true) {
a == 0 ? throw "a equals 0" : (void) 0;
a--;
}
} catch (<span>char const*</span> s) {
if (s != "a equals 0") throw s;
};
Msk.psu.ivanov; msk.psu.petrov;
msk.pstu.sidorov; msk.pstu.popov;
msk.ipkro.s102; msk.ipkro.s108; msk.ipkro.s11