Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

дано натуральное число (не более 10 000), определить количество цифр в нем помогите

илья соколов Ученик (189), на голосовании 7 лет назад
Голосование за лучший ответ
Владимир Донских Мудрец (16122) 7 лет назад
Псевдокод:

ввод number
digits=0
выполнять
number=number div 10
digits=digits+1
пока не (number=0)
вывод digits

div - деление нацело.
Сработает для любых целых чисел. Программу сами пишите, алгоритм я вам показал.
Высший разум (1270994) 7 лет назад
Формула есть для этого.
Владимир Донских Мудрец (16122) Предпочитаю не иметь дело с числами с плавающей точкой там, где можно обойтись без них. Да и в реализации ln(x) скрыто разложение в ряд, так что вычислительная сложность у вас даже поболее будет.
Высший разум (1270994) 7 лет назад
Легко:

var
i: Integer;
begin
ReadLn(i);
WriteLn(Succ(Trunc(Ln(Abs(i)) / Ln(10))));
ReadLn;
end.
Похожие вопросы