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

Сколько цифр в числе?

gse Мастер (1585), закрыт 13 лет назад
Известно, что для того, что бы узнать сколько цифр в числе число необходимо делить на 10 до 0. Например 136/10=13,6. 13,6/10=1,36. 1,36/10=0.136. Деление производилось три раза, и потому цифр три. Как эти манипуляции записать в формуле? А может, кто-то знает, как записать эту форму для языка С ?
Лучший ответ
White Rabbit Искусственный Интеллект (313548) 13 лет назад
Как эти манипуляции записать в формуле? - нет ничего проще - целая часть десятичного логарифма плюс 1:
Для Си - (int)log(136)+1
White RabbitИскусственный Интеллект (313548) 13 лет назад
Впрочем, может быть Вам таки нужно запрограммировать ИМЕННО эти манипуляции, а про формулу вы сказали сдуру? (такое может быть, если вы пишете программу для контроллера, в котором нет арифметики с плавающей точкой)
Но тогда - ТОЖЕ просто, напримкер так:
int Digit;
// заносите в Digit Ваше число
do{
Digit /=10;
}while(Digit>0);
White Rabbit Искусственный Интеллект (313548) Очепятка, счётчик ещё нужен:-( int Digit, j=0; // заносите в Digit Ваше число do{ Digit /=10; j++ }while(Digit>0);
Остальные ответы
Andrey Shahnov Просветленный (24781) 13 лет назад
длина строки
количиство цифр
минус точка
и знак
значительно быстрее
Похожие вопросы