|
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 9
|
|
Написать функцию вычисления факториала17.08.2016, 15:22. Показов 18848. Ответов 7
Метки нет (Все метки)
Написать функцию «Факториал» и программу, использующую эту функцию для вывода таблицы факториалов. Напишите пожалуйста всю задачу.
0
|
|
| 17.08.2016, 15:22 | |
|
Ответы с готовыми решениями:
7
Написать рекурсивную функцию вычисления факториала
|
|
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
|
||||||
| 17.08.2016, 15:37 | ||||||
0
|
||||||
|
Модератор
|
||||||
| 17.08.2016, 17:55 | ||||||
|
shilko2013,
но можно существенно экономнее:
0
|
||||||
|
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
|
|||
| 17.08.2016, 23:26 | |||
|
и зачем строчка
0
|
|||
|
Модератор
|
||||||||||||||||
| 18.08.2016, 10:19 | ||||||||||||||||
Сообщение было отмечено ZX Spectrum-128 как решение
Решение
Sergio Leone,
значения m и r сохраняются между вызовами f(), функция помнит последний вычисленный факториал (m!=r), если вызвали с n>=m, то выполняет довычисление от m, а не от 1. Строчка m:=n чтобы сохранить в m значение n -- основание факториала r --для использования при следующем вызове. Инициализированные константы (статические переменные) m и r инициализируются не при каждом вызове, а только при старте программы. Аналог
2
|
||||||||||||||||
|
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
|
|||
| 19.08.2016, 00:38 | |||
|
я бы лично вряд ли использовал подобный код в реале (не люблю в продакшн такие хитрозакрученные и слегка неочевидные вещи), но код вызывает восхищение! Просто супер! Спасибо! ![]() Закомментируйте и убедитесь в этом сами! цикл for изменяет переменную m
0
|
|||
|
Модератор
|
||||||||
| 19.08.2016, 11:49 | ||||||||
Сообщение было отмечено ZX Spectrum-128 как решение
РешениеДля языка Паскаль недвусмысленно заявлено, что значение счетчика цикла for по окончании цикла не определено, если только цикл не завершился по Break. Это означает, что значение счетчика цикла может быть разным в зависимости как от реализации языка, так и от варианта оптимизации внутри конкретной реализации (например, равным последнему значению, следующему за последним значением, или вовсе начальному значению). Если какая-то реализация будет брать начальное значение счетчика из памяти в регистр, все обращения к счетчику транслировать в обращения к этому регистру, а возвращать значение из регистра в память только по Break, то, строго говоря, это не будет нарушением с точки зрения языка. Поэтому закладываться на особенности той или иной реализации -- самое последнее дело. Это сродни самой дорогой ошибке программирования -- ARIANE 5, с той лишь разницей, что там заложились не на языковые особенности, а на то, что начальные условия старта ARIANE 4, для которой изначально писался код, останутся неизменны. Пример по сути является наводящим для организации "ленивых вычислений". Если последнее значение заменить таблицей, вычисляемой по мере необходимости, то достигается экономия на повторных вычислениях одних и тех же значений (без проверок допустимых диапазонов, только идея):
Другое дело, что если бы в продакшн подобный участок был бы действительно критичным по времени, то вместо функции была бы таблица.
2
|
||||||||
|
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
|
||||||||
| 19.08.2016, 23:32 | ||||||||
|
Только, если уж говорить про универсальность, то лучше такой код (он скомилируется не только в Turbo Pascal, но и FPC и в Delphi):
0
|
||||||||
| 19.08.2016, 23:32 | |
|
Помогаю со студенческими работами здесь
8
Вычислить величины. Использовать функцию вычисления факториала
Вычислить выражение, используя функцию для вычисления факториала
Вычислить число сочетаний C=(n!+m!)/(2(n+m)!), используя функцию вычисления факториала Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|