Даны три целых числа 0-9. В любом порядке. Можно ли какой-либо мат. операцией над ними, получить уникальное число, для проверки, что это именно те числа?
Какую тему читать, если такое есть в математике?
Другие языки программирования и технологии
Проверка на уникальные числа, какой способ?
Ответ зависит от того, могут ли эти цифры повторяться. Например, может ли быть 5,5,5?
Если повторяться не могут, то простейший вариант: (1 shl a1) + (1 shl a2) + (1 shl a3). В Си-подобном синтаксисе: (1 << a1) + (1 << a2) + (1 << a3)
Если могут, то сначала сортируем числа (по возрастанию или убыванию - не важно, главное, чтобы всегда одинаково; можно одной математикой - без if). И вычисляем: a1 * 100 + a2 * 10 * a3
P.S. Сортировка только арифметикой, без сравнений:
t := a3;
a3 := (a3 + a2 + abs(a3 - a2)) div 2;
a2 := (t + a2 - abs(t - a2)) div 2;
t := a2;
a2 := (a2 + a1 + abs(a2 - a1)) div 2;
a1 := (t + a1 - abs(t - a1)) div 2;
t := a3;
a3 := (a3 + a2 + abs(a3 - a2)) div 2;
a2 := (t + a2 - abs(t - a2)) div 2;
Если повторяться не могут, то простейший вариант: (1 shl a1) + (1 shl a2) + (1 shl a3). В Си-подобном синтаксисе: (1 << a1) + (1 << a2) + (1 << a3)
Если могут, то сначала сортируем числа (по возрастанию или убыванию - не важно, главное, чтобы всегда одинаково; можно одной математикой - без if). И вычисляем: a1 * 100 + a2 * 10 * a3
P.S. Сортировка только арифметикой, без сравнений:
t := a3;
a3 := (a3 + a2 + abs(a3 - a2)) div 2;
a2 := (t + a2 - abs(t - a2)) div 2;
t := a2;
a2 := (a2 + a1 + abs(a2 - a1)) div 2;
a1 := (t + a1 - abs(t - a1)) div 2;
t := a3;
a3 := (a3 + a2 + abs(a3 - a2)) div 2;
a2 := (t + a2 - abs(t - a2)) div 2;
Значиццо так.
Для быстрой проверки каких-то наборов применяются XOR - операции.
Если XOR всех чисел не сошелся - значит, они разные.
А вот если сошелся - тогда надо их все проверить, другого пути нет.
Такие дела...
Для быстрой проверки каких-то наборов применяются XOR - операции.
Если XOR всех чисел не сошелся - значит, они разные.
А вот если сошелся - тогда надо их все проверить, другого пути нет.
Такие дела...
Одной операцией - нет. Раз числа 3, то надо составлять 3 уравнения, корнями которых будут те числа
Мало выпил?
Что за три числа от нуля до девяти и нах. уникальное число из них получить, для проверки, что это именно ТЕ... какие нах те?
Что за три числа от нуля до девяти и нах. уникальное число из них получить, для проверки, что это именно ТЕ... какие нах те?
Сергей Коробов
Скажем, нам нужно проверить наличие цифр - 0,5,9. Не вещественные, не двузначные итд. Могут быть в любом порядке, например 9,0,5. Можно ли каким-то алгоритмом получать их идентификатор для сравнения? Чтобы алгоритм работал и на других цифрах. Типа кодового замка с одновременным нажатием кнопок.
Похожие вопросы
- Генерация уникальных чисел от 1 до 100 на С++
- Вводится 100 положительных чисел меньших 30, программа должна найти и напечатать все неповторяющиеся уникальные числа
- 2. Отсортировать массив из n чисел и подсчитать количество уникальных чисел в массиве. на паскале
- В паскале нужно разбить целое число на три слогаемых, всевозможными способами.
- на что классифицируются системы счисления по способу изображения чисел?
- Блок схема для проверки числа на составное ли оно
- [Delphi] Обработка Edit. Как ввести проверку, чтобы первый символ в Edit был числом?
- Обязательно ли для блога делать уникальный шаблон, чтобы не выпасть из Яндекса и Гугла?
- Где бесплатно взять уникальный контент? Подскажите рабочую схему подготовки уникального контента.
- Генератор Случайных Чисел