Форум программистов, компьютерный форум CyberForum.ru

Найти максимум и минимум двух натуральных чисел не используя ветвления алгоритма - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.69
MiraJe
Сообщений: n/a
14.02.2012, 22:00     Найти максимум и минимум двух натуральных чисел не используя ветвления алгоритма #1
Всем доброго времени суток. Решал разные математические задачки.Столкнулся с интересной.
Найти максимум и минимум двух натуральных чисел не используя ветвления алгоритма.
Написал такой код, но он работает при небольшой разнице введенных чисел. Для больших чисел алгоритм не работает. Помогите найти решение.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
    using namespace std;
#include <clocale>
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL,"russian");
    cout << "Введите 2 числа "<<endl;
    int One,Two;
    cin >> One >> Two;
 
    int Max, Min;
    Max = (abs(One/Two)*One + abs(Two/One)*Two);
    Min = (abs(One/Two)*Two + abs(Two/One)*One);
 
    cout << " Минимум: " << Min << " || Максимум: " << Max<<endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2012, 22:00     Найти максимум и минимум двух натуральных чисел не используя ветвления алгоритма
Посмотрите здесь:

Используя функцию нахождения НОД двух натуральных чисел, сократить обычную дробь C++
Найти либо максимум, либо минимум для трех задаваемых чисел C++
C++ Расчет наибольшего общего делителя двух натуральных чисел используя алгоритм эвклида
C++ Среди чисел на четных местах найти максимум,а среди нечетных найти минимум
Найти минимум и максимум в массивах чисел и вычислить значение выражения C++
C++ В заданной последовательности найти минимум из чисел lg(х), не используя массив (верно ли написан код?)
Найти максимум и минимум среди не выпавших чисел C++
C++ Найти в матрице максимум по каждой строке, а затем минимум из получившихся чисел

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.02.2012, 22:11     Найти максимум и минимум двух натуральных чисел не используя ветвления алгоритма #2
max = (a + b + abs(a-b)) / 2
MiraJe
Сообщений: n/a
15.02.2012, 16:02     Найти максимум и минимум двух натуральных чисел не используя ветвления алгоритма #3
Спасибо большое.

Это всем кому еще может попасться такая задачка.
C++
1
2
Max = (One + Two + abs(One - Two))/2; //Максимум
Min = (One + Two - abs(Two - One))/2; //Минимум
Yandex
Объявления
15.02.2012, 16:02     Найти максимум и минимум двух натуральных чисел не используя ветвления алгоритма
Ответ Создать тему
Опции темы

Текущее время: 12:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru