Вопрос задан 14.11.2023 в 22:23. Предмет Информатика. Спрашивает Баранов Влад.

Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры (не

обязательно стоящие рядом) Паскаль!! самым лёгким способом пожалуйста ​
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бактыбек Нурай.

один из вариантов, преобразовать число в строку и посчитать количество повторяющихся символов

Pascal

var

 a, k, i, j: integer;

 s:string;

begin

 readln(a);

 s:=inttostr(a);

 for i:=1 to length(s)-1 do begin

   k:=0;

   for j:=i+1 to length(s) do

     if s[i]=s[j] then inc(k);

   if k>0 then begin

     writeln('В записи есть повторяющиеся символы');

     exit;

   end;

 end;

 writeln('В записи нет повторяющихся символов');

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Да, конечно! Давайте напишем программу на языке Pascal, чтобы определить, есть ли в записи введенного натурального числа две одинаковые цифры. Вот пример простой программы:

```pascal program CheckTwoSameDigits;

var num, originalNum, remainder, currentDigit, temp: integer; isTwoSameDigits: boolean;

begin // Вводим натуральное число write('Введите натуральное число: '); readln(num);

// Сохраняем оригинальное число для сравнения в конце originalNum := num;

// Инициализируем переменную, указывающую на то, есть ли две одинаковые цифры isTwoSameDigits := false;

// Перебираем все цифры числа while num > 0 do begin currentDigit := num mod 10; // Получаем последнюю цифру числа num := num div 10; // Убираем последнюю цифру числа

// Проверяем, есть ли такая цифра в числе еще раз temp := originalNum; while temp > 0 do begin remainder := temp mod 10; temp := temp div 10;

// Если найдены две одинаковые цифры, устанавливаем флаг и выходим из цикла if currentDigit = remainder then begin isTwoSameDigits := true; break; end; end;

// Если уже найдены две одинаковые цифры, выходим из внешнего цикла if isTwoSameDigits then break; end;

// Выводим результат if isTwoSameDigits then writeln('В записи числа есть две одинаковые цифры.') else writeln('В записи числа нет двух одинаковых цифр.');

end. ```

Программа сначала считывает натуральное число, затем проверяет, есть ли в его записи две одинаковые цифры, используя вложенные циклы. Результат выводится на экран.

0 0

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

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

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

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