|
0 / 0 / 0
Регистрация: 14.05.2011
Сообщений: 6
|
|
факториал в с++21.05.2011, 13:39. Показов 10279. Ответов 34
Метки нет (Все метки)
Дано целое число N (>0). Вывести сумму 2 + 1/(2!) +1/(3!)+ ... + 1/(N!) Полученное число является приближеным значением константы е=ехр(1)(=2.71828183).
0
|
|
| 21.05.2011, 13:39 | |
|
Ответы с готовыми решениями:
34
факториал |
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||
| 21.05.2011, 13:58 | |||||||||||
|
Рекурсивная версия:
1
|
|||||||||||
|
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
|
||||||
| 21.05.2011, 14:06 | ||||||
Сообщение было отмечено как решение
Решение
Факториал можно вычислить на стадии компиляции
6
|
||||||
|
3602 / 2743 / 355
Регистрация: 11.03.2009
Сообщений: 6,304
|
||||||
| 21.05.2011, 14:11 | ||||||
2
|
||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||
| 23.05.2011, 05:44 | |||||||
0
|
|||||||
|
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
|
|
| 23.05.2011, 10:33 | |
|
taras atavin, будет храниться только один факториал, который (999!) .
0
|
|
|
Higher
|
|
| 23.05.2011, 10:39 | |
|
Т.е. никого не смущает, что
999!
4023872600770937735437024339230039857193 7486421071463254379991042993851239862902 0592044208486969404800479988610197196058 6316668729948085589013238296699445909974 2450408707375991882362772718873251977950 5950995276120874975462497043601418278094 6464962910563938874378864873371191810458 2578364784997701247663288983595573543251 3185323958463075557409114262417474349347 5534286465766116677973966688202912073791 4385371958824980812686783837455973174613 6085379534524221586593201928090878297308 4313928444032812315586110369768013573042 1616874760967587134831202547858932076716 9132448426236131412508780208000261683151 0273418279777047846358681701643650241536 9139828126481021309276124489635992870511 4964975419909342221566832572080821333186 1168115536158365469840467089756029009505 3761647584772842188967964624494516076535 3408198901385442487984959953319101723355 5566021394503997362807501378376153071277 6192684903435262520001588853514733161170 2103968175921510907788019393178114194545 2572238655414610628921879602238389714760 8850627686296714667469756291123408243920 8160153780889893964518263243671616762179 1689097799119037540312746222899880051954 4441428201218736174599264295658174662830 2955570299024324153181617210465832036786 9061172601587835207515162842255402651704 8330422614397428693306169089796848259012 5458327168226458066526769958652682272807 0757813918581788896522081643483448259932 6604336766017699961283186078838615027946 5955131156552036093988180612138558600301 4356945272242063446317974605946825731037 9008402443243846565724501440282188525247 0935190620929023136493273497565513958720 5596542287497740114133469627154228458623 7738753823048386568897646192738381490014 0767310446640259899490222221765904339901 8860185665264850617997023561938970178600 4081188972991831102117122984590164192106 8884387121855646124960798722908519296819 3723886426148396573822911231250241866493 5314397013742853192664987533721894069428 1434118520158014123344828015051399694290 1534830776445690990731524332782882698646 0278986432113908350621709500259738986355 4277196742822248757586765752344220207573 6305694988250879689281627538488633969099 5982628095612145099487170124451646126037 9029309120889086942028510640182154399457 1568059418727489980942547421735824010636 7740459574178516082923013535808184009699 6372524230560855903700624271243416909004 1536901059339838357779394109700277534720 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 00000
1
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||
| 18.06.2011, 16:30 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 11.07.2009
Сообщений: 21
|
||||||
| 14.08.2011, 00:43 | ||||||
|
подскажите, в чем проблема: вычисляю факториал с использованием рекурсии. Результат выдает верный до определенного момента. Если ввести число для вычисления факториала начиная с 13, результат начинает уменьшаться...
Вот код:
0
|
||||||
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 14.08.2011, 00:47 | |
|
Nesnakomez, результат просто не помещается в int.
Надо возвращать double
0
|
|
|
0 / 0 / 0
Регистрация: 11.07.2009
Сообщений: 21
|
|
| 14.08.2011, 00:51 | |
|
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 14.08.2011, 00:51 | |
|
ValeryLaptev, зачем вещественный тип применять для факториала? Есть же long long.
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||
| 14.08.2011, 00:53 | ||
|
Вы знаете, какой максимальный x! приводит к переполнению на 32-битном Intel? Всего 1755! - и мы вылетаем даже при наличии long double.
0
|
||
|
0 / 0 / 0
Регистрация: 11.07.2009
Сообщений: 21
|
||
| 14.08.2011, 00:53 | ||
|
у меня всего то 13! дальше результаты то в плюс то в минус идут, еще и отрицательные результаты есть
0
|
||
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|||||||
| 14.08.2011, 00:58 | |||||||
1
|
|||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 14.08.2011, 01:03 | ||||||
|
Nesnakomez, для начала напишите функцию по-человечески:
1
|
||||||
|
0 / 0 / 0
Регистрация: 11.07.2009
Сообщений: 21
|
|
| 14.08.2011, 01:22 | |
|
На счет ужаса я на спорю, я же начинающий, всего-то неделю.
Глобальная переменная: а чем она именно в этом коде мешает? библиотеки я записывал в угловых скобках, VS проставляет в кавычках. Работает и так и так. Изменил как в первом варианте, все равно так же само работает. До 12 включительно правильно считает, с 13 уменьшается результат. Пока не заменил на double возвращаемый тип По второму варианту не смог изменить,выдает ошибку(не распознанная лексема), подозреваю это по "?" А сам я не могу понять что это означает, я все-таки зеленый еще....
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 14.08.2011, 01:29 | |
|
Nesnakomez, 13! = 6227020800, это больше чем влезет в знаковый 32 разрядный int, пробуйте long long.
1
|
|
|
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
|
||||||
| 14.08.2011, 02:06 | ||||||
|
Откровенно говоря, я не совсем понял, зачем здесь вычислять факториал. Как Вы уже поняли это очень "не красивый" подход. Я предлагаю альтернативное решение:
Мы знаем, что каждый следующий элемент в последовательности является предыдущему, разделенному на (порядковый номер элемента + 1). Ну так используем эту возможность. 1 элемент = 1 \ 2; 2 элемент = (1 \ 2) \ 3; 3 элемент = 2 элемент \ 4; ... N элемент = N - 1 элемент \ N + 1; Для наглядности приведу весь код (VS 2005):
Как Вы можете заметить, в приведенной реализации не используется факториал, что значительно улучшает работу программы.
0
|
||||||
| 14.08.2011, 02:06 | |
|
Помогаю со студенческими работами здесь
20
факториал С++ Факториал Факториал Факториал Факториал Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|