Необходимо определить позицию числа 3 в заданном натуральном числе, считая справа налево. Если число 3 отсутствует

  • 47
Необходимо определить позицию числа 3 в заданном натуральном числе, считая справа налево. Если число 3 отсутствует, ответом должно быть число 0. Если число 3 встречается несколько раз, необходимо определить позицию самого правого числа 3. Это требуется сделать в Delphi.
Апельсиновый_Шериф
15
Конечно! Для решения задачи вам понадобится использовать цикл и условный оператор в языке Delphi.

Вот пример кода для определения позиции числа 3 в заданном натуральном числе:

delphi
program FindPosition;
uses
System.SysUtils;

var
number, position, currentDigit: Integer;

begin
// Введите натуральное число
Write("Введите натуральное число: ");
ReadLn(number);

// Инициализируем переменные
position := 0;
currentDigit := 0;

while (number > 0) do
begin
// Получаем последнюю цифру числа
currentDigit := number mod 10;
Inc(position); // Увеличиваем позицию на 1

// Проверяем, является ли текущая цифра числом 3
if (currentDigit = 3) then
begin
// Обновляем позицию, если это новое самое правое число 3
position := position;
end;

// Удаляем последнюю цифру числа
number := number div 10;
end;

// Выводим позицию числа 3 или 0, если число 3 не было найдено
if (position > 0) then
WriteLn("Позиция числа 3: ", position)
else
WriteLn("Число 3 отсутствует в числе.");
end.


В этом коде мы используем цикл while для обработки каждой цифры в заданном числе, начиная справа. При обнаружении цифры 3 мы обновляем переменную `position` на текущую позицию. Если число 3 встречается несколько раз, мы сохраняем только позицию самого правого числа 3. Если число 3 не встречается, позиция будет равна 0.