Форум программистов, компьютерный форум 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++. подробнее

Показать сообщение отдельно
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
13.02.2014, 19:50     По двум ислам найти такие два, для которых выполнятся следующие условия.
Напишите программу, которая по двум целым неотрицательным числам A и B найдет такие неотрицательные целые числа X и Y, для которых выполняются условия:

A = X + Y
B = X xor Y, где xor – побитовое исключающее или.
X – наименьшее среди чисел, для которых выполняются условия 1 и 2.
Входные данные

Первые две строки содержат соответственно целые числа A и B (0 ≤ A, B ≤ 2^64 - 1).

Выходные данные

Вывести в одной строке два целых неотрицательных числа X и Y, либо одно число -1, если таких пар не существует.

Пример входных данных
142
76
Пример выходных данных
33 109

Решаю вот такую задачу. Придумал простенький алгоритм, который хоть не самый быстрый, но должен на коротких тестах выдавать правильный ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
    long long a,b,x,y,k,f=0;
    cin>>a>>b;
    if (a%2==1) k=a/2;
    else
        k=a/2-1;
    for (int i=1;i<=k;i++)
    {
        int h=i^(a-i);
        if (h==b)
        {
            f=1;
            cout<<i<<" "<<a-i<<endl;
            exit(0);
        }
    }   
    cout<<-1<<endl;
}
Проходит 36%, и что странно, некоторые тесты с неправильными ответами(но больше половины-тайм лимит). Помогите решить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru