max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
|
||||||
#1 | ||||||
По двум ислам найти такие два, для которых выполнятся следующие условия. - C++13.02.2014, 19:50. Просмотров 370. Ответов 6
Метки нет Все метки)
(
Напишите программу, которая по двум целым неотрицательным числам 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 Решаю вот такую задачу. Придумал простенький алгоритм, который хоть не самый быстрый, но должен на коротких тестах выдавать правильный ответ
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
13.02.2014, 19:50 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос По двум ислам найти такие два, для которых выполнятся следующие условия. (C++):
6
Найти такие тройки натуральных чисел x,y,z из интервала от 1 до 20,для которых выполняется равенство x^2-y=z^2 - C++ Построить такие два треугольника с вершинами в заданном множестве точек на плоскосли, из которых один лежал бы строго внутри другого - C++ Сколько существует натуральных чисел, для которых выполняются следующие условия - Информатика В упорядоченном массиве, найти такие два элемента, произведение которых максимально - C# В упорядоченном массиве, найти такие два элемента, произведение которых максимально - C# В упорядоченном массиве, найти такие два элемента, произведение которых максимально (минимально) - C# |
ValeryS
Модератор
6926 / 5269 / 517
Регистрация: 14.02.2011
Сообщений: 17,730
|
|||||||||||
13.02.2014, 20:03 | #2 | ||||||||||
что это за переменная за что отвечает? я бы сделал так
0
|
Eldies
90 / 82 / 28
Регистрация: 06.02.2014
Сообщений: 122
|
||||||
13.02.2014, 22:55 | #3 | |||||
![]()
каждая 1 в В - место, где Х и У отличаются. Для определенности, поставим в этих местах 1 в У и 0 в Х. теперь, во всех остальных битах Х и У одинаковы, значит 1) А - У должно быть четным 2) (А-У)/2 не должно иметь единичных битов там же, где У Добавлено через 7 минут не знаю, правильно ли в целом, но А = 142, В = 76 отрабатывает правильно, и никаких циклов
1
|
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
|
||||||
13.02.2014, 23:29 [ТС] | #4 | |||||
Eldies, объясните что значит оператор
0
|
Eldies
90 / 82 / 28
Регистрация: 06.02.2014
Сообщений: 122
|
||||||
13.02.2014, 23:31 | #5 | |||||
то же, что
0
|
ValeryS
Модератор
6926 / 5269 / 517
Регистрация: 14.02.2011
Сообщений: 17,730
|
|||||||||||
13.02.2014, 23:37 | #6 | ||||||||||
и тоже что и
![]()
а поскольку разряды двоичные то и делим на 2 были бы десятичные делили бы на 10 ![]()
0
|
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
|
|
14.02.2014, 17:25 [ТС] | #7 |
ValeryS, это типо побитовый сдвиг вправо?
0
|
14.02.2014, 17:25 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
14.02.2014, 17:25 |
Привет! Вот еще темы с ответами:
7
Для любого числа N найти все такие натуральные x,y, для которых выполняется заданное условие - Free Pascal
Найти все такие тройки натуральных чисел x, y и z из интервала от 1 до 20, для которых выполняется равенство - C# Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |