Предмет: Информатика,
автор: kykareeky
CРОЧНО НА С++
На вход программе подаются два целых числа m и n, по модулю не превосходящие 10^6. Если m≥n, то требуется вывести 1, в противном случае — любое другое число.
Условный оператор, операторы сравнения, циклы и функции min, max, abs использовать нельзя!
Решение конечно интересно выглядит, а можно узнать как оно работает?
правда, почему такое большое число?
На всякий случай
Так а в чём прикол этого 0x80000000? Потому что решать с его помощью тоже нельзя(по крайней мере в Сириусе)
У меня все засчитало в Сириусу.
Так преподаватель всё равно проверит и поймет что скатано, в Сириусе такое ещё не проходили
ну есть же несколько человек кто уже все решил... значит как-то это возможно...?
а вам нормально копировать решения? там же дисквалификация
Я зашёл чтобы посмотреть и убедиться что кто-то это вообще решил, так-то это решение вставлять бесполезно
Ответы
Автор ответа:
2
#include <iostream>
int main()
{
int m, n;
std::cin>>m>>n;
int target = m - n;
std::cout << -1 * (target >> (8 * sizeof(target) - 1))+1;
}
Похожие вопросы
Предмет: Українська література,
автор: vrabiel
Предмет: Русский язык,
автор: Вика89242656901
Предмет: Английский язык,
автор: monobrendaldan
Предмет: Алгебра,
автор: zarina224
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<< !((a-b) & 0x80000000);
}