Предположим, я хочу проверить, имеет ли число n = 123 дубликаты цифр. Я пробовал:Что является самым быстрым способом проверки повторяющихся цифр номера?
#include <iostream>
using namespace std;
int main() {
int n = 123;
int d1 = n % 10;
int d2 = (n/10) % 10;
int d3 = (n/100) % 10;
if(d1 != d2 && d1 != d3 && d2 != d3) {
cout << n << " does not have duplicate digits.\n";
}
}
Есть ли более быстрое решение этой проблемы?
Обновление
Извините, что не понимаете. Код выше был написан на C++ только для описания цели. Я должен решить эту проблему в TI-89 с числом 9 цифр. И поскольку ограничение памяти и скорости, я ищу быстрый способ.
TI-89 имеет только несколько ключевых слов условие:
- Если
- Если ...
- когда (
- Для ... ENDFOR
- Хотя ... EndWhile
- Loop ... EndLoop
- Custom ... EndCustom
Спасибо,
Чан
Поскольку ваше решение ограничено трехзначными числами, просто создайте хеш-таблицу чисел, которые повторяют цифры и проверяют, содержится ли в ней число. – aaronasterling
Вам также нужно обрабатывать числа с менее чем тремя цифрами (если это допустимый ввод). Прямо сейчас 'n = 1' будет отклонено как имеющее повторяющиеся цифры (ведущие нули). – Thilo
На каком языке на TI-89 вы работаете? –