Нужно найти среднее арифметическое 2 чисел X и Y при условии что нельзя использовать * / . А можно только +-><. Заранее спасибо!
да причем тут математика. c=(x+y)/2 тока нельзя деление использовать и умножение сосотавить нада алгоритм
Как-то так: PHP: int xxx(int X, int Y) { for(int i = 1; i < X + Y; ++i) if(i + i > X + Y) return i - 1; }
чего-то я не понимаю. у меня так не получается. вот моя версия: Code: do { Y--; X++; } while (X<Y); return X; при условии X<Y (eсли на оборот, то просто меняем местами переменные) и оба числа чётные или нечётные(если одно чётное, другое нет, то вычитаем из результата 0,5.)
int x = 13, y = 14; int z = (x + y ) >> 1; хз можно ли сдвиги юзать. Code: #include <iostream> #include <utility> int mean (int x, int y); int main(){ for(int i = 0; i < 1000; i++){ int x = rand(), y = rand(); int result = mean(x, y); int expected = (x + y) / 2; std::cout << "mean(" << x << ", " << y << ") = " << result << " Expected = " << expected << std::endl; if( result != expected){ std::cout << "error: x = " << x << " y = " << y << " result = " << mean(x,y) << std::endl; } } system("pause"); } int mean (int x, int y){ if(x > y){ std::swap(x, y); } int i = 0; for(; x + i <= y - i; i++){ if(x + i == y - i){ return x + i; } } // для нечетных сумм return x + i - 1; } или так. забавная задачка =)