Вопрос задан 15.03.2026 в 17:41. Предмет Информатика. Спрашивает Брызгалова Александра.

Вывести целое число и определить, верно ли, что в его записи есть две одинаковые цифры. Например, 1234 - нет; 1224 - да. Обязательно должен присутствовать цикл с предусловием while <условие> do. Информатика. 8 класс. Паскаль ABC.

Перейти к ответам

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

Отвечает Сапожникова Александра.

Нужно: дано целое число. Вывести это число и определить, есть ли в его десятичной записи хотя бы две одинаковые цифры (то есть встречается повтор).

Идея решения простая:

  1. Читаем число n.

  2. Берём модуль (на случай отрицательного).

  3. Будем “снимать” цифры справа налево, пока число не станет 0 — это как раз делается циклом while do.

  4. Чтобы понять, повторялась ли цифра, удобно хранить, какие цифры 0..9 уже встречались.
    Если текущая цифра уже встречалась — значит, повтор есть.

Отдельный случай: если n = 0, то запись состоит из одной цифры 0, повторов нет.

Программа (PascalABC, 8 класс, с while do)

pascal
program TwoSameDigits;

var
n, x, d: integer;
used: array[0..9] of boolean;
hasRepeat: boolean;
i: integer;

begin
readln(n);
writeln(n);

// Сброс массива "встречалась ли цифра"
for i := 0 to 9 do
used[i] := false;

hasRepeat := false;
x := abs(n);

// Особый случай: число 0
if x = 0 then
begin
// Одна цифра 0, повторов быть не может
writeln('нет');
exit;
end;

// Цикл с предусловием while do
while (x > 0) and (not hasRepeat) do
begin
d := x mod 10; // последняя цифра
if used[d] then
hasRepeat := true
else
used[d] := true;

x := x div 10; // убираем последнюю цифру
end;

if hasRepeat then
writeln('да')
else
writeln('нет');
end.

Как это работает на примерах

  • 1234: цифры 4,3,2,1 — все разные → вывод нет.

  • 1224: цифры 4,2,2,… вторая “2” уже была → вывод да.

Программа сначала выводит само введённое целое число, затем на новой строке печатает да или нет, в зависимости от наличия двух одинаковых цифр.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос