Сравнение чисел С++


На вход программе подаются два целых числа m и n, по модулю не превосходящие 106. Если m≥n, то требуется вывести 1, в противном случае — любое другое число.


Условный оператор, операторы сравнения, циклы и функции min, max, abs использовать нельзя!


Входные данные


Даны два целых числа, по модулю не превышющих 2⋅109.


Выходные данные


Выведите ответ на задачу.


Примеры

Ввод 1

1

1

Вывод

1

Ввод 2

4

3

Вывод

1

Ввод 3

2

8

Вывод

0

Ответы

Ответ дал: kykareeky
1

Ответ:

один парень на просторах знаний решил так:

Объяснение:

#include

using namespace std;

int main(){

int a,b;

cin >> a>> b;

cout >> !((a-b) & 0x80000000);}

почему такое число в конце я не знаю.....но вроде работает....?


ilai2541358: Я видел такой способ на Python,и как бы ...
ilai2541358: Решила ее?
kykareeky: вроде да, получилось
kykareeky: я за ночь смогла сделать 4... считаю, что неплохо..спасибо)
ilai2541358: Дай на мек,как ты это сделала?
ilai2541358: намек*
kykareeky: да, я так и написала, перефразировав...если а больше b, то остаток от вычитания будет положительный... а если отрицательный то домножаем на этот ноль, умноженный на любое огромное число...? я не смогла найти похожих решений на других задачах....но он работает..?на просто 0 домножив,задача не проходит, а так почему-то.....да я не знаю
ilai2541358: ОК
Аноним: Хех и это был я
Аноним: Да и оно полностью работает
Вас заинтересует