Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.72
elena3
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 5
#1

программа вычисления факториала любого числа - C++

08.12.2012, 15:06. Просмотров 3239. Ответов 16
Метки нет (Все метки)

помогите написать программу на C++!!!
надо написать программу, которая вычислит факториал любого числа. данные читает из файла и результат записывает обратно в файл
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 15:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос программа вычисления факториала любого числа (C++):

Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k. - C++
Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k. И вновь заранее благодарю,...

Программа для вычисления факториала - C++
Зравствуйте, помогите, пожалуйста, написать программу, которая вычисляет факториал введенного с клавиатуры положительного числа. Программа...

Реальзовать Функцию вычисления факториала числа - C++
Функция вычисления факториала числа..

Написать программу для вычисления факториала числа - C++
1) написать программу для вычисления факториала числа n!=1*2*3...*n. Число n вводится с клавиатуры

Написать программу для вычисления двойного факториала числа - C++
2) написать программу для вычисления двойного факториала числа n!!=n*(n-2)*(n-4)*(n-6)... Число n вводится с клавиатуры.

Написать программу для вычисления факториала числа с заданной точностью - C++
Написать программу для вычисления факториала числа: n!=1*2*3*.....n. Использовать специальный класс, полем которого является число n, а...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,231
Записей в блоге: 3
Завершенные тесты: 1
08.12.2012, 15:14 #2
Цитата Сообщение от elena3 Посмотреть сообщение
вычислит факториал любого числа
чему равен факториал бесконечности?
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
08.12.2012, 15:29 #3
Цитата Сообщение от Croessmah Посмотреть сообщение
чему равен факториал бесконечности?
∞ * (∞-1)!
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,231
Записей в блоге: 3
Завершенные тесты: 1
08.12.2012, 15:32 #4

Не по теме:

Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
∞ * (∞-1)!
Не нужно приводить формулы, приведите конкретный пример, да и еще посчитайте сколько понадобиться оперативной памяти и времени для рассчета.



У Вас в любом случае должен быть какой-то предел
elena3
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 5
08.12.2012, 21:58  [ТС] #5
факториал бесконечности равен бесконечности
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
08.12.2012, 23:08 #6
даже калькулятор Windows-а при fact(10000) пишет overflow(переполнение)
Venzo
08.12.2012, 23:14
  #7

Не по теме:

Цитата Сообщение от (SkyNet) Посмотреть сообщение
даже калькулятор Windows-а при fact(10000) пишет overflow(переполнение)
даже...?))) если б вы сказали, например, даже матлаб, или другой мат пакет - другой дело) калькулятор винды врядли показатель)

v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
08.12.2012, 23:19 #8
у меня никакого переполнения в калькуляторе нет:
fact(10000) = 2,8462596809170545189064132121199e+35659
Wolkodav
603 / 456 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
08.12.2012, 23:37 #9
Вас помочь попросили, а не хвастаться возможностями своих систем). У меня питон факториал 2000 считал)) Рекурсивно!! Долгова то но норм было дело. Не важно. Я как понял тут что-то типо работы с длинной арифметикой?
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.12.2012, 00:54 #10
Croessmah, тут задача на длинную арифметику.
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
09.12.2012, 05:27 #11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <gmp.h>
 
int main()
{
    mpz_t rop;
    unsigned long int x = 2000;
 
    mpz_init(rop);
    mpz_fac_ui(rop, x);
    gmp_printf("%Zd", rop);
 
    return 0;
}
Кликните здесь для просмотра всего текста
331627509245063324117539338057632403828111720810578039457193543706038077905600822400273230859732592255402352941225834109258084817415293796131386633526343688905634058556163940605117252571870647856393544045405243957467037674108722970434684158343752431580877533645127487995436859247408032408946561507233250652797655757179671536718689359056112815871601717232657156110004214012420433842573712700175883547796899921283528996665853405579854903657366350133386550401172012152635488038268152152246920995206031564418565480675946497051552288205234899995726450814065536678969532101467622671332026831552205194494461618239275204026529722631502574752048296064750927394165856283531779574482876314596450373991327334177263608852490093506621610144459709412707821313732563831572302019949914958316470942774473870327985549674298608839376326824152478834387469595829257740574539837501585815468136294217949972399813599481016556563876034227312912250384709872909626622461971076605931550201895135583165357871492290916779049702247094611937607785165110684432255905648736266530377384650390788049524600712549402614566072254136302754913671583406097831074945282217490781347709693241556111339828051358600690594619965257310741177081519922564516778571458056602185654760952377463016679422488444485798349801548032620829890965857381751888619376692828279888453584639896594213952984465291092009103710046149449915828588050761867924946385180879874512891408019340074625920057098729578599643650655895612410231018690556060308783629110505601245908998383410799367902052076858669183477906558544700148692656924631933337612428097420067172846361939249698628468719993450393889367270487127172734561700354867477509102955523953547941107421913301356819541091941462766417542161587625262858089801222443890248677182054959415751991701271767571787495861619665931878855141835782092601482071777331735396034304969082070589958701381980813035590160762908388574561288217698136182483576739218303118414719133986892842344000779246691209766731651433494437473235636572048844478331854941693030124531676232745367879322847473824485092283139952509732505979127031047683601481191102229253372697693823670057565612400290576043852852902937606479533458179666123839605262549107186663869354766108455046198102084050635827676526589492393249519685954171672419329530683673495544004586359838161043059449826627530605423580755894108278880427825951089880635410567917950974017780688782869810219010900148352061688883720250310665922068601483649830532782088263536558043605686781284169217133047141176312175895777122637584753123517230990549829210134687304205898014418063875382664169897704237759406280877253702265426530580862379301422675821187143502918637636340300173251818262076039747369595202642632364145446851113427202150458383851010136941313034856221916631623892632765815355011276307825059969158824533457435437863683173730673296589355199694458236873508830278657700879749889992343555566240682834763784685183844973648873952475103224222110561201295829657191368108693825475764118886879346725191246192151144738836269591643672490071653428228152661247800463922544945170363723627940757784542091048305461656190622174286981602973324046520201992813854882681951007282869701070737500927666487502174775372742351508748246720274170031581122805896178122160747437947510950620938556674581252518376682157712807861499255876132352950422346387878954850885764466136290394127665978044202092281337987115900896264878942413210454925003566670632909441579372986743421470507213588932019580723064781498429522595589012754823971773325722910325760929790733299545056388362640474650245080809469116072632087494143973000704111418595530278827357654819182002449697761111346318195282761590964189790958117338627206088910432945244978535147014112442143055486089639578378347325323595763291438925288393986256273242862775563140463830389168421633113445636309571965978466338551492316196335675355138403425804162919837822266909521770153175338730284610841886554138329171951332117895728541662084823682817932512931237521541926970269703299477643823386483008871530373405666383868294088487730721762268849023084934661194260180272613802108005078215741006054848201347859578102770707780655512772540501674332396066253216415004808772403047611929032210154385353138685538486425570790795341176519571188683739880683895792743749683498142923292196309777090143936843655333359307820181312993455024206044563340578606962471961505603394899523321800434359967256623927196435402872055475012079854331970674797313126813523653744085662263206768837585132782896252333284341812977624697079543436003492343159239674763638912115285406657783646213911247447051255226342701239527018127045491648045932248108858674600952306793175967755581011679940005249806303763141344412269037034987355799916009259248075052485541568266281760815446308305406677412630124441864204108373119093130001154470560277773724378067188899770851056727276781247198832857695844217588895160467868204810010047816462358220838532488134270834079868486632162720208823308727819085378845469131556021728873121907393965209260229101477527080930865364979858554010577450279289814603688431821508637246216967872282169347370599286277112447690920902988320166830170273420259765671709863311216349502171264426827119650264054228231759630874475301847194095524263411498469508073390080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Process returned 0 (0x0) execution time : 0.015 s
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,231
Записей в блоге: 3
Завершенные тесты: 1
09.12.2012, 06:38 #12
Цитата Сообщение от go Посмотреть сообщение
Croessmah, тут задача на длинную арифметику.
я в курсе, но если нет предела, то всё равно упремся в нехватку памяти или время выполнения. Ибо факториал 20000 это одно, а факториал числа, в котором несколько тысяч знаков?
elena3
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 5
10.12.2012, 16:31  [ТС] #13
подскажите, пожалуйста, хотя бы как к этой части программы дописать чтение из файла и запись результата обратно в файл!!!!


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <stdlib.h>
 typedef  double  udouble_t;
udouble_t fact_while(size_t);
udouble_t fact_rec(size_t);
 
int main()
{
        size_t n;
        puts("Input n: ");
        scanf("%u", &n);
        printf("Calculating with `while' loop: %llu\n", fact_while(n));
        printf("Calculating with recursion: %llu\n", fact_rec(n));
        system("pause");
        exit(0);
}
 
udouble_t fact_while(size_t n)
{
        udouble_t result = 1;
        while(n)
                result *= n--;
        return result;
}
 
udouble_t fact_rec(size_t n)
{
        return n ? n * fact_rec(n - 1) : 1;
}
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
11.12.2012, 11:27 #14
elena3, Язык? Ваш код написан на Си...
elena3
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 5
11.12.2012, 17:18  [ТС] #15
Цитата Сообщение от ForEveR Посмотреть сообщение
elena3, Язык? Ваш код написан на Си...
нет, на Microsoft Visual Studio
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2012, 17:18
Привет! Вот еще темы с ответами:

Написать рекурсивную процедуру вычисления факториала целого положительного числа - C++
Написать рекурсивную процедуру вычисления факториала целого положительного числа n

С++ Найти m! + (m+n)!, создав процедуру для вычисления факториала произвольного натурального числа - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void my_fact(int m, int n) { if (n == 0) my_fact=1; ...

Найти m! + (m+n)!, создав рекурсивную функцию для вычисления факториала произвольного натурального числа. C++ - C++
Вот программа с рекурсией напишите без рекурсии пожалуйста #include #include using namespace std; long long my_fact(long long n)...

Описать функцию возведения любого натурального числа n в куб без операции умножения, пользуясь следующим свойством: куб любого числа n равен - C++
То есть {1}^{3}=1 {2}^{3}=3+5 {3}^{3}=7+9+11 Написала программу на С++ Оказалось что функцию не описала. Как это сделать? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.12.2012, 17:18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru