|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 11 Mar 2002 15:34:32 To : Ruslan Bondarev Subject : Re: разборка чисел -------------------------------------------------------------------------------- Ruslan Bondarev wrote: > Hello, Maxim! > > *** 10 Mar 02 in a msg to All, Maxim Sarenko wrote: > MS> Еcть чиcлo 1234, мoжнo ли eгo paзбить нa цифpы? т.e. 1,2,3,4 > MS> п.c. Чиcлo мoжeт быть любым, т.e. нaпpимep oт 0 дo 10^99999999999. > > Ты забыл указать -- числа-то хоть целые? > Два варианта для целых: > 1) Академический. > Число делим на 10. Остаток заносим в стек. Целую часть от деления > используем в следующей итерации. Так до тех пор, пока целая часть не будет > равна 0. После этого вынимает из стека цифры. Для "академического" варианта придется озаботиться поддержкой рбаоты с большими числами. Число 10^99999999999 даже в двоичном (не говоря уж о строковом) представлении займет около 40 Гигабайт. Разумеется, это не запредельные числа и найти дисковые накопители способные хранить несколько чисел такой разрядности можно... а оно Вам правда надо или интерес тоже "академический"? > 2) Hа перле. @digits = split('', $number); > perldoc -f split > perldoc perlre Теоретически возможно. Hо массив из 100 миллиардов элементов в памяти... При том, что накладные расходы на каждую ячейку массива много больше одного байта хранимого там... Запросите NASA, у них кажется есть компьютеры с терабайтными RAM. Андрей --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/5284d950d082.html, оценка из 5, голосов 10
|