 |
|

07.03.2024, 23:21
|
|
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами:
4598023
Репутация:
183
|
|
Сообщение от AnWu
Нельзя использовать: if, else, &&, ||, битовые операции
Инструменты: iostream, cmath, математика, геометрия
Цель: вывести наибольшее из чисел
Ну конечно хочется
C++:
Или хотя бы
C++:
Код:
int
x
;
if
(
a
>
b
)
x
=
a
;
else
x
=
b
;
Скрытое содержимое для пользователя(ей): AnWu
Еще проскользнул такой вариант...
C++:
[CODE]
int
n
[
2
]
=
{
a
,
b
}
;
// если b > a, то 1, если b
Во-первых, массивы, а во-вторых не работает при a = b. Уверен, что второе "но" устранимо, но нет смысла думать, т.к. массивы...
|
|
|

07.03.2024, 23:25
|
|
Флудер
Регистрация: 08.11.2017
Сообщений: 4,787
С нами:
4480376
Репутация:
183
|
|
[QUOTE="Vintik"]
Ну конечно хочется
C++:
Или хотя бы
C++:
Код:
int
x
;
if
(
a
>
b
)
x
=
a
;
else
x
=
b
;
*** Скрытый текст не может быть процитирован. ***
Еще проскользнул такой вариант...
C++:
[CODE]
int
n
[
2
]
=
{
a
,
b
}
;
// если b > a, то 1, если b
|
|
|

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 будет иметь вид:
|
|
|

08.03.2024, 02:01
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от Vintik
Помнится, была как-то задачка менять bool (0 -> 1, 1 -> 0).
x^=1
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|