
07.03.2024, 23:35
|
|
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами:
4598023
Репутация:
183
|
|
Сообщение от AnWu
Решение валяется дет в теме, я уже не помню)
Нашёл.
Моё же)
Но мне понравилось твоё.
Помнится, была как-то задачка менять bool (0 -> 1, 1 -> 0).
Я как накрутил, что-то типа:
C++:
Код:
bool
b
;
-
1
*
(
-
1
+
b
)
Потом долго сокращал, а в конце понял, что это решается в общем случае (a -> b, b -> a):
Уравнение прямой
.
b = k * a + p
a = k * b + p
=> вычитаем 1 из 2
a - b = k * (b - a)
=> подставляем k = -1
b = -a + p
И так, например, функция перевода 5 -> 8, 8 -> 5 будет иметь вид:
|
|
|