Re: f(f(x)) = -x
От: yachmen  
Дата: 01.02.08 19:12
Оценка:
Здравствуйте, deniok, Вы писали:

D>

D>Задача: написать функцию f(x), так, что f(f(x)) = -x. Разрешено использовать только
D>целые числа. x — целочисленный аргумент (например, 32-битный).

D>от avva

Лехко:

   typedef TArgType int;

   TArgType f( TArgType x )
    {
        if( x )
        {
            if( x & 1 )
            {
                if( x > 0 ) x++;
                else        x--;
            }
            else
            {
                x = -x;
                if( x > 0 ) x--;
                else        x++;
            }
        }

        return x;
    }


Всего наилучшего
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.