Содержание
Задача
Какие различные цифры входят в целое число.
Решение
n – анализируемое число;
digits – массив различных цифр, из которых состоит число n;
q_digits – количество цифр в массиве;
digit – извлеченная из числа цифра;
flag – проверка наличия цифры в массиве (если цифра в массиве уже есть, то она не будет в него добавлена.
Алгоритм решения задачи:
- Избавляемся от знака числа с помощью функции abs.
- Обнуляем количество цифр в массиве (изначально массив пуст).
- После извлечения очередной цифры числа с конца ( n mod 10 ) предполагаем, что ее еще нет в массиве ( flag : = false ).
- Перебираются элементы массива цифр. Если текущая извлеченная цифра уже есть в нем, то меняем значение флага. Для первой извлеченной цифры данный цикл не работает, что правильно.
- Если флаг остался в значении false, то увеличиваем количество цифр в массиве на единицу и записываем очередную цифру в массив.
- Избавляемся от последней цифры числа ( n div 10 ).
- Цифры в массив записаны в обратном порядке. Для их вывода на экран в порядке следования в числе следует использовать вариант цикла for с downto.
Исходник программы, которая находит количество цифр в числе, введённого пользователем с клавиатуры. Исходник основан на цикле WHILE. Есть пояснительные комментарии к каждой строке. Увидеть исходный код и скачать скомпилированный исходник вы можете ниже.
Исходный код программы для нахождения кол-ва цифр в числе:
Подсчитать количество цифр числа N введенного с клавиатуры.
- Попроси больше объяснений
- Следить
- Отметить нарушение
EvaEva1995 02.11.2017
Что ты хочешь узнать?
Ответ
Проверено экспертом
begin
clrscr;
write(‘Введите число ‘); readln(n);
while n>0 do
begin
n:=n div 10;
i:=i+1;
end;
writeln(‘В введенной числе ‘, i, ‘ цифр’);
end.
- Комментарии
- Отметить нарушение
Ответ
Проверено экспертом
// PascalABC.NET 3.3, сборка 1561 от 02.11.2017
// Внимание! Если программа не работает, обновите версию!
Примеры
-203534243
9