Определить в каком из n заданных чисел наибольшее количество цифр (подпрограммы) - Free Pascal
Формулировка задачи:
Заданы n чисел.Определить в каком числе наибольшее количество цифр.(в качестве подпрограммы взять mod и div)
Решение задачи: «Определить в каком из n заданных чисел наибольшее количество цифр (подпрограммы)»
textual
Листинг программы
var n, m, a, ma, i: integer;
begin
repeat
write('Количество чисел = ');
readln(n)
until n > 0;
ma := 0;
writeln('Введите целые числа:');
for i := 1 to n do
begin
write(i:3, ': ');
readln(a);
if abs(ma) <= abs(a)
then begin
ma := a;
if a = 0
then m := 1
else m := trunc(ln(abs(a)) / ln(10)) + 1
end
end;
write('Максимальное количество цифр: ', m, ', в числе ', ma);
readln
end.
Объяснение кода листинга программы
В данном коде реализуется следующая последовательность действий:
- Ввод количества чисел от пользователя.
- Инициализация переменной
ma(максимальное количество цифр) значением 0. - Вывод сообщения с просьбой ввести числа.
- Считывание n чисел от пользователя.
- Поиск максимального числа по модулю и сохранение его в переменной
ma. - Если
maравно 0, то переменнаяm(количество цифр) равна 1, иначе вычисляется количество цифр в числеmaс помощью функции ln(10) и trunc(ln(abs(a)) / ln(10)) + 1 и сохраняется в переменнойm. - Вывод сообщения с максимальным количеством цифр и числом, в котором это количество цифр.
- Завершение работы программы.