3 / 3 / 0
Регистрация: 28.11.2014
Сообщений: 118
|
||||||
1 | ||||||
Разложение натурального числа на простые множители с помощью рекурсии13.04.2015, 10:20. Показов 4881. Ответов 11
Метки нет (Все метки)
Собственно суть задачи: разложение натурального числа на простые множители с помощью рекурсивной подпрограммы.
Не понимаю где тут рекурсивная подпрограмма? Почему программа не работает с числами большими 3500(точней она вроде делает вид что считает, но прождав минут 5 я понял что результата не будет). И самое главное можно ли ее как то проще написать?
0
|
13.04.2015, 10:20 | |
Ответы с готовыми решениями:
11
Разложение натурального числа на простые множители Разложение натурального числа на простые множители Разложение натурального числа на простые множители Разложение натурального числа на простые множители |
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
13.04.2015, 11:03 | 2 | |||||
Может так?
1
|
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
|
||||||
13.04.2015, 11:26 | 3 | |||||
1
|
3 / 3 / 0
Регистрация: 28.11.2014
Сообщений: 118
|
|
14.04.2015, 12:35 [ТС] | 4 |
Puporev, если беру число 732565 то он выводит только число 5 а ведь 146513 тоже простой множитель, тоже самое с числом 347342, выводит только 2...а еще должно быть 173671, не подскажете почему так?
0
|
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
|
|
14.04.2015, 12:41 | 5 |
у меня тип integer - максимум до 32767
Добавлено через 1 минуту да и то стека на хватит
0
|
3 / 3 / 0
Регистрация: 28.11.2014
Сообщений: 118
|
|
14.04.2015, 12:44 [ТС] | 6 |
но это только в турбо паскале в абс.нет все работает
0
|
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
|
|
14.04.2015, 12:48 | 7 |
piercedan, не работает:
итерация 7693 - Ошибка времени выполнения: StackOverflowException: Программа завершена из-за переполнения программного стека
0
|
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
14.04.2015, 12:48 | 8 | |||||
В моем коде смени это
0
|
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
|
|
14.04.2015, 12:58 | 9 |
piercedan, про первую программу речь идет или про вторую?
Добавлено через 9 минут piercedan, нормально в первой программе: Введите натуральное число a=347342 2 173671
0
|
Супер-модератор
|
||||||
14.04.2015, 12:58 | 10 | |||||
Вот при такой реализации - хватит:
1
|
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
|
|
14.04.2015, 13:05 | 11 |
volvo, у меня ошибка, если в PascalABC.Net(ТС ее на нем тестирует пост 6):
732565 5 Ошибка времени выполнения: StackOverflowException: Программа завершена из-за переполнения программного стека
0
|
Супер-модератор
|
||||||
14.04.2015, 13:17 | 12 | |||||
Вообще-то я для раздела Turbo Pascal тестирую программы на Турбо-Паскале. Там работает с максимально возможными значениями для приведенных типов.
Добавлено через 10 минут А под PABC.NET вот такой код отрабатывает прекрасно:
1
|
14.04.2015, 13:17 | |
14.04.2015, 13:17 | |
Помогаю со студенческими работами здесь
12
Разложение на простые множители заданного натурального числа Разложение на простые множители заданного натурального числа Требуется вычислить разложение натурального числа на простые множители Описать функцию, находящую разложение заданного натурального числа на простые множители Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |