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

По двум ислам найти такие два, для которых выполнятся следующие условия. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Компонентные функции http://www.cyberforum.ru/cpp-beginners/thread1096061.html
Объясните, пожалуйста, как вызываются компонентные функции в отличие от внешних.:(
C++ вычислить значение Вычислить значение выражения. Объяснить полученные результаты. 1. Для ввода и вывода данных использовать операции >> и << и стандартные потоки cin и cout. 2. Для вычисления степени можно использовать функцию pow(x,y) из библиотечного файла math.h. http://www.cyberforum.ru/cpp-beginners/thread1096060.html
Все слова строки, которые начинаются с цифры отсортировать по убыванию C++ C++
Нужна помощь по написанию программы на С++. Нужно все слова строки, которые начинаются с цифры отсортировать по убыванию. Заданная строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В конце текста ставится точка. Текст содержит не более 255 символов. Выполнить ввод строки, используя функцию Gets (s) и обработку...
C++ Простая задачка
Нужен код для Dev C++ Найти суму цифр четырёхзначного натурального числа. Буду очень благодарен.
C++ Копирующий конструктор http://www.cyberforum.ru/cpp-beginners/thread1096047.html
Добрый вечер всем! Следущая проблема - решила создать свой персональный vector - int_array. Но возникла проблема... Не пойму, как организован копирующий конструктор. Мои попытки его воссоздать приводят к утечке памяти. Надеюсь, вы разъясните мне что к чему. Заранее спасибо! class int_array { int *mas, size, capacity; public: int_array(): mas(0), size(0), capacity(0)
C++ Полином Чебышева Как найти полином чебышева? Есть программа в Mathcad, нужно перенести в C++. подробнее

Показать сообщение отдельно
Eldies
89 / 80 / 28
Регистрация: 06.02.2014
Сообщений: 119
13.02.2014, 22:55     По двум ислам найти такие два, для которых выполнятся следующие условия.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void find(unsigned long long A, unsigned long long B)
{
    unsigned long long Y = B;
 
    if (A < Y)
    {
        std::cout << "-1";
        return;
    }
 
    unsigned long long X = A - Y;
    if (X & 1)
    {
        std::cout << "-1";
        return;
    }
    X >>= 1;
    if (X & Y)
    {
        std::cout << "-1";
        return;
    }
    Y += X;
 
    std::cout << X << " " << Y;
}
Рассуждал так:
каждая 1 в В - место, где Х и У отличаются. Для определенности, поставим в этих местах 1 в У и 0 в Х.
теперь, во всех остальных битах Х и У одинаковы, значит
1) А - У должно быть четным
2) (А-У)/2 не должно иметь единичных битов там же, где У

Добавлено через 7 минут
не знаю, правильно ли в целом, но А = 142, В = 76 отрабатывает правильно, и никаких циклов
 
Текущее время: 14:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru