Вопрос по информатике:
Точно и четко сформулировать условие задачи, которая решается в данной программе:
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 St := St * 10;
WriteLn('Ответ: ', N);
End.
Задать натуральное число N и указать, каким оно станет после преобразования.
- 22.01.2018 02:25
- Информатика
- remove_red_eye 11489
- thumb_up 40
Ответы и объяснения 1
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".
- 23.01.2018 20:40
- thumb_up 43
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.