Страница 1 из 1
Длина строки
Добавлено: 23 сен 2004, 03:32
admsasha
Как в C++ под Linux узнать длину числа ?
если точнее то мне надо 123456 запихать в массив, что бы сравнить с другими числами, типа с
1234567
55446778
12346789
т.е. в 123456789 самое длинное число с вхождением 123456.
Добавлено: 23 сен 2004, 12:09
Kolinus
Че-то я не понял если у тебя число хранится как число - long int etc то можно его делить на 10 и считать количество таких делений пока не получится ноль если же у тебя в char[] поцифрам то есть метод strlen() если у тебя std::string то там вроде ест ьметод length или что-то такое - нет справочника под рукой
Добавлено: 23 сен 2004, 14:14
Romeo
Исли число - long, то можно поступить проще. Есть такая замечательная математическая функция, как логарифм. Езли взять логарифм по основанию 10 от любого числа, отсечь дробную часть а потом прибавить 1 - получим количество цифр в числе. (для отрицательных чисел и нуля подход неверен потому как, логарифм определён только на положительной полуоси, а lim log (n) = -inf , (n -> 0+)).
Добавлено: 24 сен 2004, 02:26
Hup
Блин,
Romeo/// Проверил твоё утверждение... Просто супер, обязательно запомню

Добавлено: 24 сен 2004, 11:50
Romeo
Математика - неимоверно мощное оружие. Это тебе не по клавишам стучать

Добавлено: 26 сен 2004, 14:08
versus
Исли число - long, то можно поступить проще.
А почему только для long?
Добавлено: 27 сен 2004, 14:35
Romeo
А почему только для long?
Конечно же имял ввиду просто
целое число, извиняюсь, господа. Сказалась привычка программирования на 32-битной платформе, где все целые удобно делать long для оптимизации программы по скорости.