
Вопрос задан 24.04.2021 в 22:19.
Предмет Информатика.
Спрашивает Мокиевский Олег.
Дано натуральное число N. Определить, верно ли, что это число содержит ровно три одинаковые цифры.
Решите алгоритмом

Ответы на вопрос

Отвечает Дархановна Дания.
Var
a,b,c,x:integer;
begin
write('Введите трехзначное число. X=');
readln(x);
a:=x div 100;
b:=(x mod 100) div 10;
c:=(x mod 10) div 1;
if (a=b) and (b=c) then writeln('Верно!')
else writeln('Не верно');
readln;
end.
a,b,c,x:integer;
begin
write('Введите трехзначное число. X=');
readln(x);
a:=x div 100;
b:=(x mod 100) div 10;
c:=(x mod 10) div 1;
if (a=b) and (b=c) then writeln('Верно!')
else writeln('Не верно');
readln;
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения этой задачи можно использовать следующий алгоритм:
- Преобразовать число N в строку, чтобы было проще работать с его цифрами.
- Создать пустой список, в котором будем хранить количество вхождений каждой цифры.
- Для каждой цифры от 0 до 9:
- Посчитать, сколько раз эта цифра встречается в числе N.
- Добавить полученное количество в список.
- Если в списке есть число 3, то число N содержит ровно три одинаковые цифры, и алгоритм возвращает True. Иначе алгоритм возвращает False.
Вот реализация данного алгоритма на языке Python:
arduinodef has_three_identical_digits(n):
digits_count = [0] * 10
for digit in str(n):
digits_count[int(digit)] += 1
return 3 in digits_count
Примеры использования:
python>>> has_three_identical_digits(123456)
False
>>> has_three_identical_digits(111222)
True
>>> has_three_identical_digits(789666)
True
Обратите внимание, что данная реализация алгоритма работает для любых натуральных чисел, в том числе и для очень больших чисел, которые не помещаются в тип int. Однако, если требуется обрабатывать только числа, которые помещаются в int, то можно использовать более простую реализацию без преобразования числа в строку:
arduinodef has_three_identical_digits(n):
digits_count = [0] * 10
while n > 0:
digit = n % 10
digits_count[digit] += 1
n //= 10
return 3 in digits_count


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili