Точно и четко сформулировать условие задачи, которая решается в данной программе: Program Kr_2_3; Var N, St : LongInt; Begin Write('Введите нат...

Точно и четко сформулировать условие задачи, которая решается в данной программе: Program Kr_2_3; Var N, St : LongInt; Begin Write('Введите нат...Точно и четко сформулировать условие задачи, которая решается в данной программе: Program Kr_2_3; Var N, St : LongInt; Begin Write('Введите натуральное число: '); ReadLn(N); St := 1; While N Div St <> 0 Do If Not Odd(N Mod (St * 10) Div St) Then N := N Div (St * 10) * St + N Mod St Else...
Гость
Ответ(ы) на вопрос:
Гость
Программа для введённого с клавиатуры числа N выводит число, составленное из нечётных цифр десятичной записи числа N. Если в записи N нет ни одной нечётной цифры, выводится 0. Если N < 0, выводится что-то жуткое. St - в любой момент степень 10, пусть St = 10^k. Тогда N Mod (St * 10) Div St получает (k + 1)-ую цифру справа в десятичной записи числа N. Затем, если она чётная, то вместо N рассматривается число N Div (St * 10) * St + N Mod St - число, получаемое из N вычитанием (k + 1)-й цифры. Если нечетное - берется следующее k. Например, для N = 1234567 будет выведено "Ответ: 1357", а для N = 24680 будет выведено "Ответ: 0".
Не нашли ответ?
Ответить на вопрос
Похожие вопросы