Forum Webscript.Ru

Программирование => Perl => Тема начата: YA от 28 Февраля 2002, 23:41:27

Название: Число полных и неполных сотен
Отправлено: YA от 28 Февраля 2002, 23:41:27
Помогите с элементарной задачкой.

Нужно определить число полных и неполных сотен в числе.
Делаю так:

my $int=ЧИСЛО;
$int/=100;
$int=($int==int($int))?$int:(int($int)+1); # округление "вверх"

Что-то мне подсказывает, что все должно быть проще...
Название: Странно!
Отправлено: YA от 01 Марта 2002, 22:24:53
Думал, что хотя бы Chs найдет, что здесь оптимизировать.
Название: Число полных и неполных сотен
Отправлено: Chs от 04 Марта 2002, 10:44:14
Цитировать
Думал, что хотя бы Chs найдет, что здесь оптимизировать.

:) А самому поискать - не ищеться?
perldoc -q ceil


use POSIX qw(ceil);
$int = ceil($int/100);
Название: Число полных и неполных сотен
Отправлено: YA от 04 Марта 2002, 15:57:35
Зачем же так строго?! :) Просто до этого упоминание "ceil" нигде не встречал, вот и не знал, что искать.

Но, все равно, спасибо!
Название: Придумал альтернативу!
Отправлено: YA от 17 Марта 2002, 02:26:24
Было:

my $int=ЧИСЛО;
$int/=100;
$int=($int==int($int))?$int:(int($int)+1); # округление "вверх"

Альтернатива:

my $int=ЧИСЛО;
$int=int($int/100)+(($int%100)?1:0);

По скорости, видимо, то же самое, но немного компактнее - мелочь, а приятно.
Название: Число полных и неполных сотен
Отправлено: Chs от 18 Марта 2002, 10:13:57
Цитировать
По скорости, видимо, то же самое...

Второй вариант быстрее.