![]() |
Есть задача:
https://forum.antichat.xyz/attachments/27875774/ Нельзя использовать: if, else, &&, ||, битовые операции Инструменты: iostream, cmath, математика, геометрия Цель: вывести наибольшее из чисел У меня на решение без гугла ушел 1 час. Тем кому просто интересно. Спрячьте ответ под хайд |
Скрытое содержимое для пользователя(ей):
|
Цитата:
|
интересно. скажите ответ? и ещё, для чего такое нужно? может где то применится?
|
Цитата:
|
Цитата:
|
@Smeruxa сам сделал или нашел? у меня немного другой ответ
|
Цитата:
Цитата:
|
Никаких if, циклов и битовых операций. Чистая математика процессора
C++: [CODE] #include #include int main ( ) { int a , b ; std :: cin >> a >> b ; __asm { mov eax , a cmp eax , b cmovl eax , b mov a , eax } std :: cout |
Цитата:
|
Цитата:
допустим первое значение 3, а второе 10003 удачи расписать 10003 кейса) |
???:
[CODE] #include void main ( ) { int in [ 2 ] = { 4 , 20 } ; std :: cout |
[QUOTE="Cake_"]
???: [CODE] #include void main ( ) { int in [ 2 ] = { 4 , 20 } ; std :: cout |
Цитата:
|
competitive programming tour 2021 from hackerrank & facebook:
[CODE] #include int main ( ) { int a { } , b { } ; std :: cin >> a >> b ; std :: cout > a ; std :: cout |
Цитата:
Цитата:
|
Цитата:
|
Есть решение проще, @kin4stat сделал
|
|
ой **** дурак, там же интринсики незя было юзать:
Код:
#include |
Подсыпать другу в кофе слабительного, посидев на троне около часа он 100% придумает ответ. Для лучшей эффективности забрать у него телефон и аэрозольный балончик.
|
Мой мозг понимает только слова Хитка
|
Можно отправить запрос в гугл и взять от него инфу, профит
|
Цитата:
[CODE] #include using namespace std ; int main ( ) { int q , w ; cin >> q >> b ; int output = q > b ? q : b ; cout Цитата:
|
[QUOTE="zTechnology"]
C++: [CODE] #include using namespace std ; int main ( ) { int q , w ; cin >> q >> b ; int output = q > b ? q : b ; cout |
Решение: https://replit.com/@idonhomka/Task8611#main.cpp
Получаем модуль разницы чисел, складываем a + b + c и получается число ровно в два раза больше максимального числа (т.к. меньшее число доходит до большего при помощи разницы). Ну и делим на два. Решили: @kin4stat @SC6UT Моё решение было не таких простым, моё решение: (a * (a + c) + b * (b + c)) / (a * b), но оно получает деление на 0 если одно из чисел равно нулю. |
Цитата:
Было написано это, так что тут уже не моя проблема, что условия были расписаны не полностью |
Цитата:
|
не знаю, вроде как работает эта штука:
Код: [CODE] #include #include using namespace std; int main(int argc, const char* argv[]) { SetConsoleCP(1251); SetConsoleOutputCP(1251); int num, num1; cout > num; cout > num1; num > num1 ? cout |
[QUOTE="Michael_Komas"]
не знаю, вроде как работает эта штука: Код: [CODE] #include #include using namespace std; int main(int argc, const char* argv[]) { SetConsoleCP(1251); SetConsoleOutputCP(1251); int num, num1; cout > num; cout > num1; num > num1 ? cout |
Цитата:
C++: Код:
aИли хотя бы C++: Код:
intСкрытое содержимое для пользователя(ей): AnWu Еще проскользнул такой вариант... C++: [CODE] int n [ 2 ] = { a , b } ; // если b > a, то 1, если b Во-первых, массивы, а во-вторых не работает при a = b. Уверен, что второе "но" устранимо, но нет смысла думать, т.к. массивы... |
[QUOTE="Vintik"]
Ну конечно хочется C++: Код:
aИли хотя бы C++: Код:
int*** Скрытый текст не может быть процитирован. *** Еще проскользнул такой вариант... C++: [CODE] int n [ 2 ] = { a , b } ; // если b > a, то 1, если b |
Цитата:
Моё же) Но мне понравилось твоё. Помнится, была как-то задачка менять bool (0 -> 1, 1 -> 0). Я как накрутил, что-то типа: C++: Код:
boolПотом долго сокращал, а в конце понял, что это решается в общем случае (a -> b, b -> a): Цитата:
Код:
y = kx + pb = k * a + p a = k * b + p => вычитаем 1 из 2 a - b = k * (b - a) Код:
k = -1b = -a + p Код:
p = a + bКод:
z = 5 + 8 - z |
Цитата:
|
| Время: 01:45 |