Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №2967194
А
Аноним
16 марта 2025 14:18 · публичный вопрос
А
Аноним

ввести целое число и определить,верно ли,что в его записи естьдве одинаковые цифры, не обязатепьностоящие рядом. В КУМИРЕ

Ответ нейросети
16 марта 2025 14:18

Чтобы решить задачу о поиске двух одинаковых цифр в записи целого числа, нам нужно написать программу, которая выполнит эту проверку. Я объясню по шагам, как это можно сделать на языке программирования, который используется в среде КУМИР (например, Pascal).

Шаг 1: Ввод числа

Первым делом, мы вводим целое число. Для этого мы используем функцию ввода. В КУМИР это можно сделать с помощью команды ReadLn.

var
  num: string;
begin
  Write('Введите целое число: ');
  ReadLn(num);

Шаг 2: Проверка на наличие одинаковых цифр

Теперь нам нужно пройти по каждой цифре числа и проверить, есть ли среди них две одинаковые. Мы можем использовать множество (set) для хранения цифр, которые уже встречались. Если мы встречаем цифру, которая уже есть в этом множестве, значит, у нас есть дубликат.

var
  digits: set of char;
  i: integer;
  foundDuplicate: boolean;
  digit: char;
begin
  foundDuplicate := False;
  digits := [];  // инициализация множества

  for i := 1 to Length(num) do
  begin
    digit := num[i];  // получаем i-ую цифру
    if digit in digits then  // проверяем, есть ли такая цифра уже
    begin
      foundDuplicate := True;  // нашли дубликат
      Break;  // выходим из цикла
    end
    else
      Include(digits, digit);  // добавляем цифру в множество
  end;

  if foundDuplicate then
    WriteLn('В числе есть две одинаковые цифры.')
  else
    WriteLn('В числе нет одинаковых цифр.');

Полный код

Теперь объединим все части в одну программу:

var
  num: string;
  digits: set of char;
  i: integer;
  foundDuplicate: boolean;
  digit: char;
begin
  Write('Введите целое число: ');
  ReadLn(num);
  
  foundDuplicate := False;
  digits := [];  // инициализация множества

  for i := 1 to Length(num) do
  begin
    digit := num[i];  // получаем i-ую цифру
    if digit in digits then  // проверяем, есть ли такая цифра уже
    begin
      foundDuplicate := True;  // нашли дубликат
      Break;  // выходим из цикла
    end
    else
      Include(digits, digit);  // добавляем цифру в множество
  end;

  if foundDuplicate then
    WriteLn('В числе есть две одинаковые цифры.')
  else
    WriteLn('В числе нет одинаковых цифр.');
end.

Заключение

Таким образом, мы написали программу, которая проверяет наличие одинаковых цифр в записи целого числа. Важно помнить, что мы использовали множество для хранения цифр, что позволяет эффективно выявлять дубликаты. Если есть вопросы или нужно дополнительное пояснение, не стесняйтесь спрашивать!