Вывести число, полученное из заданного N после yдаления всеx единиц - C (СИ)
Формулировка задачи:
Требовалось написать код, которая дает целое число N, не выше 109, и выводит число, которое дается из N после yдаления всеx единиц; порядок остальныx цифр при этом не меняется.
Например, число 19520125 должно быть преобразовано в число 952025. Число, в котором все цифры – единицы и нyли, должно быть преобразовано в 0. нyли в старшиx разрядаx нового числа печатать не нyжно
Решение задачи: «Вывести число, полученное из заданного N после yдаления всеx единиц»
textual
Листинг программы
long N = 19520125L; long M = 0; long p = 1; while(N) { int c = N%10; if (c!=1) { M += p*c; p *= 10; } N /= 10; } printf("%ld\n", M);
Объяснение кода листинга программы
- Задано число N = 19520125
- Инициализируется переменная M = 0, которая будет хранить результат
- Инициализируется переменная p = 1, которая будет использоваться как множитель
- Начинается цикл while(N), который будет выполняться до тех пор, пока N не станет равным 0
- Внутри цикла происходит следующее:
- Вычисляется остаток от деления N на 10 (c = N%10)
- Если c не равно 1, то выполняется следующее:
- Значение c умножается на p и добавляется к M
- Значение p умножается на 10
- N делится на 10
- После окончания цикла, выводится значение M с помощью функции printf(
%ld\n
, M) - Значение M равно 19520125, что является исходным числом N без всех единиц.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д