Еще одна интересная задачка

22 сент. 2010 г. | | |

Нравятся мне эти задачки, несложные, но хитрые :) Вот еще одна.

Дано целое натуральное число. Без использования циклов и рекурсии поменять значение самого крайнего правого бита, равного 0, на 1.
Например, 0101 -> 0111; 1010 ->1011

Решение:value | (value+1)

2 коммент.:

Анонимный комментирует...

Pascal/Delphi: x := x xor 1;
C/C++: x ^= 1;

Unknown комментирует...

Не совсем так : 0011 xor 0001 = 0010, а должно получиться 0111 (по условиям задачи нужно поменять крайний правый бит , равный 0, на 1).

Отправить комментарий