0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 9
|
||||||
1 | ||||||
При вычислении факториала больше пяти сот восьми (508), происходит зацикливание26.10.2013, 13:52. Показов 1229. Ответов 11
Метки нет (Все метки)
Уже спрашивал о своей программе в этой теме с просьбой поискать ошибки: Ошибка вычисления факториала происходит только начиная с числа 149
И спасибо TS6492 (жаль, не знаю, как прислать "спасибо"), он мне здорово помог. Я покопался в программе, и нашел множество грубых ошибок. Теперь же ситуация иная. Вычисляется уже факториал 508 (не знаю, правильно ли, не нашел в интернете ответ, но 300 точно правильно. Но теперь ситуация совершенно другая. Дальше 508 происходит зацикливание. Не знаю почему. Вообще, в паскале разбираюсь не очень. Не знаю всех нюансов. Очень пригодился бы взгляд профессионала. И еще вопрос. Как включить режим 8087/80287 в коде. Постоянно приходится заходить в настройки и включать вручную, хотя вроде можно с помощью {N+} ... {N-}. Но моя версия или компьютер видит их. будто игнорирует. Еще беда с uses crt ... clrscr. При их вводе выходит ошибка "Деление на ноль".
Ах да. Еще компьютер не воспринимает тип int64, будто такого в паскале вообще нет. Но может это вина моего компьютера? Добавлено через 15 минут Простите великодушно, но изначальную проблему с зацикливанием решил увеличением константы max. Но насчет остальных проблем с радостью выслушаю предложения. Спасибо.
0
|
26.10.2013, 13:52 | |
Ответы с готовыми решениями:
11
Напечатать все цифры, которые перемножаются при вычислении факториала Происходит зацикливание при чтении файла Не происходит деление при вычислении выражения Сумма цифр числа, получаемого при вычислении факториала числа 100 |
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
26.10.2013, 14:04 | 2 |
В настройках компилятора
Options->Compiler->поставить х в окошечке рядом с 8087/80287
0
|
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 9
|
|
26.10.2013, 14:05 [ТС] | 3 |
Но примерно на 1250 выходит ошибка "Ошибочная операция с плавающей запятой". Думаю, это вина оператора trunc. Как вы считаете?
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
26.10.2013, 14:10 | 4 |
0
|
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 9
|
|
26.10.2013, 14:20 [ТС] | 5 |
Да, так и делаю, но при каждом входе приходится нажимать. Хотя, вроде, этот режим можно включать в коде.
Добавлено через 27 секунд Хм, спасибо, сейчас скачаю.
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
||||||
26.10.2013, 14:23 | 6 | |||||
Попробуй скачать этот Турбо Паскаль
https://www.cyberforum.ru/atta... 1264398243 Добавлено через 47 секунд
1
|
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 9
|
|
26.10.2013, 15:26 [ТС] | 7 |
Спасибо, все работает. Оказывается, у меня был Борланд. Но турбо тоже не воспринимает int64.
http://s017.radikal .ru/i424/1310/c9/9c718c680f57.jpg Извиняюсь, не выходит послать фото иначе. Добавлено через 31 минуту Все, достиг максимума приданием типа shortint всем массивам, что дало возможность увеличить константу max до 21000. Вычисляет даже факториал двух миллиардов, по крайней мере процесс идет, это я проверил печатанием в одном месте цикла переменной m. Но конечно же это будет долгий процесс.
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
26.10.2013, 15:27 | 8 |
0
|
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 9
|
|
26.10.2013, 15:57 [ТС] | 9 |
0
|
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 9
|
|
26.10.2013, 15:58 [ТС] | 10 |
Вотъ
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
26.10.2013, 16:01 | 11 |
0
|
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 9
|
|
26.10.2013, 21:23 [ТС] | 12 |
Ан-нет. Примерно 10000+ уже вычисляет с ошибками...
Добавлено через 29 минут Для вычисления больших чисел нужно еще увеличить константу max. Нет ли способа это сделать?
0
|
26.10.2013, 21:23 | |
26.10.2013, 21:23 | |
Помогаю со студенческими работами здесь
12
Определить, почему во втором варианте программы происходит переполнение при вычислении переменной dist Происходит зацикливание Происходит зацикливание Происходит зацикливание! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
В чем отличие между INNER JOIN и OUTER JOIN
bytestream 22.01.2025
В современных базах данных информация часто распределена между множеством взаимосвязанных таблиц, что делает операции объединения JOIN неотъемлемой частью работы с SQL. Эти операции позволяют. . .
|
Как сделать первую букву заглавной в JavaScript
bytestream 22.01.2025
JavaScript предоставляет разработчикам множество инструментов для эффективной работы с текстовыми данными. Одной из часто встречающихся задач при обработке строк является преобразование первой буквы. . .
|
Что такое Big O нотация и алгоритмическая сложность
bytestream 22.01.2025
Введение в алгоритмическую сложность
В мире разработки программного обеспечения эффективность алгоритмов играет crucial роль в создании качественных приложений. Алгоритмическая сложность. . .
|
Как решать конфликты слияния (merge) в Git
bytestream 22.01.2025
Конфликты слияния в системе контроля версий Git возникают в ситуациях, когда две или более ветки разработки содержат несовместимые изменения в одних и тех же участках кода. Эти конфликты представляют. . .
|
Как использовать регулярные выражения
bytestream 22.01.2025
Регулярные выражения представляют собой мощный инструмент для работы с текстовыми данными, который позволяет осуществлять поиск, проверку и манипуляцию строками на основе определенных шаблонов. Этот. . .
|
Как выйти из Vim
bytestream 22.01.2025
Vim (Vi IMproved) представляет собой один из самых влиятельных текстовых редакторов в истории компьютерной индустрии, эволюционировавший из своего предшественника Vi, созданного Биллом Джоем в 1976. . .
|
NoSQL базы данных: что это такое и какие существуют
bytestream 22.01.2025
В современную эпоху цифровой трансформации объемы данных растут экспоненциально, создавая новые вызовы для традиционных систем управления базами данных. NoSQL (Not Only SQL) представляет собой. . .
|
Обновление исследования от команды MCM (январь 2025 г.)
Programma_Boinc 22.01.2025
Обновление исследования от команды MCM (январь 2025 г. )
Мы продолжаем изучать молекулярные сигнатуры, связанные с раком легких, с текущим фокусом на GCM1, факторе транскрипции, участвующем в. . .
|
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
|
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
|
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
|
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
|