| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Поиск делителей |
| Автор: Aliance 27.1.2005, 00:23 |
| Можно ли с помощью JS найти делители целые числа? И можно ли найти десятые, сотые и т.д. числа, без исп. метода slice() и т.п. Т.е. 678 = 6 сотых + 7 десятых + 8 целых, т.е. имея числа xyz, узнать целочисленные параметры x, y и z? |
| Автор: Се ля ви 27.1.2005, 00:29 | ||
Ну да - конвертишь в строку и разбираешь посимвольно. Примерно так:
|
| Автор: Aliance 27.1.2005, 00:31 |
| Се ля ви Ха, а если мы не знаем переменную x ?! Если пользователь вводит ее с клавиатуры? |
| Автор: Gregof 27.1.2005, 09:45 | ||
Может так?
А почему нельзя найти делители? Алгоритм их поиска весьма несложен, проблем с реализацией его на JS я тоже не вижу. |
| Автор: Aliance 27.1.2005, 16:46 | ||
| Gregof Ты проверял эту функцию для 12813432758974258926754892 ?
Помоги, напиши. |
| Автор: Sardar 27.1.2005, 22:42 |
| Aliance что то я смысл задачи не догоняю... Тебе просто нужно разобрать десятичны числа посимвольно? Приведи к строке и бери как показали выше... |
| Автор: Aliance 27.1.2005, 23:04 |
| Sardar Как показал Се ля ви это верно, но мне не подходит, т.к. мне нужно это к любому числу от 0 до бесконечности (мы не знаем число) |
| Автор: Sardar 27.1.2005, 23:44 | ||
Дык задача детская
|
| Автор: Aliance 28.1.2005, 00:23 | ||
| Sardar Ааа, нееет =) Не детская... Не бесконечны, ну это есесно Но в твоем коде число 10 миллионов не подойдет, верно? Я хочу так:
Как мне от сюда узнать все необходимое ? :-/ |
| Автор: Sardar 28.1.2005, 00:41 | ||
А ты попробуй |
| Автор: sergejzr 28.1.2005, 01:50 | ||
Так ведь тот же псевдокод (не пробовал, но должен идти)...
|
| Автор: Gregof 28.1.2005, 13:31 | ||
Читай тут http://algolist.manual.ru/maths/teornum/factor/ Но опять же все они для конечных чисел. Если делать вриант для бесконечных чисел, то придётся реализовывать длинную арифметику, что само собо несложно. Просто алгоритм поиска делителей с использованием длинной арифметики будет иметь огромнейшую вычислительную сложность. |
| Автор: Alx 28.1.2005, 16:37 |
| я чё-то не въеду, а почему нельзя посчитать длину строки-1 - получим что за самое высокое число, например для 1 млн - это будет 6... в общем щас попробую |
| Автор: Alx 28.1.2005, 17:00 | ||
| вот, надеюсь это тебе подойдёт)) http://portfolio.alx.com.ru/scripts/javascript/delitel.html
|
| Автор: Aliance 28.1.2005, 17:15 |
| Alx Спасибо, это работает :-) |
| Автор: sergejzr 28.1.2005, 19:37 | ||||
Только вместо
можно
|
| Автор: Gregof 31.1.2005, 12:13 |
| Странно, что функция delitel раскладывает число не на делители Ну, ситуация вроде была нормально обьяснена |