Форум программистов, компьютерный форум, киберфорум
Наши страницы

факториал 3000 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конвертация числа в строку и обратно, условие исключения, разность. http://www.cyberforum.ru/cpp-beginners/thread190108.html
Здравствуйте! Проблема с задачей: В четырёхзначном числе все цифры разные и отличны от нуля. если его записать в обратном порядке, то получится число, на k меньшее первоначального. Найти это...
C++ Строка Столкнулся с проблемой: заменить все латинские буквы на *. как же задать в ифе (если итый элемент есть в буквах-исключениях) s='*'; как это сделать, кроме s=A || s=B || s=C...... http://www.cyberforum.ru/cpp-beginners/thread190095.html
C++ Почему на экран выводится цифры в формате с E (4.34e)?
Добрый день! Есть следующая функция #include <iostream> using namespace std; double* test(char *A){ char ch_year ; char ch_month ;
Как создать динамический массив размерностью m на n? C++
подскажите, а то я только n на n создавать умею)
C++ не могу сделать лабораторки по инфе на языке C++ http://www.cyberforum.ru/cpp-beginners/thread190089.html
помогите не получаются лабы по инфе!!! Посмотрите кто может помочь я 8 вариант! просто сроки поджимают а надо сдать 7 лабораторок по инфе!!! студент 1 курса Прикрепляйте файлы к сообщениям.
C++ Лабораторная работа по С++.Не поняла циклы дана последовательность n из вещественных чисел. Определить, образуют ли они возрастающую последовательность? подробнее

Показать сообщение отдельно
M128K145
Эксперт С++
8299 / 3519 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
13.11.2010, 16:03
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include "factorial.h"
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    Factorial *factorial = new Factorial();
    int fact;
 
    std::cout<<"Введите факториал:\n> ";
    std::cin>>fact;
 
    factorial->PrintFactorial(fact);
 
    delete factorial;
    return 0;
}
factorial.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef FACTORIAL_H_
#define FACTORIAL_H_
 
class Factorial
{
public:
    void WriteFactorial(int);
    void PrintFactorial(int);
protected:
private:
    void _Factorial(int);
    static const int n = 1500000;
    int mas[n];
};
 
#endif /* FACTORIAL_H_ */
factorial.cpp
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <fstream>
#include "factorial.h"
 
void Factorial::_Factorial(int factorial)
{
    int fact, i, zero = n - 1, index = n - 1;
    for(i = 0; i < n - 1; ++i)
        mas[i] = 0;
    mas[n - 1] = 1;
    for (fact = 2; fact <= factorial; ++fact)
    {
        while (mas[zero] == 0) --zero;
        for (i = zero; i >= index; --i)
            mas[i] *= fact;
        for (i = zero; i > index; --i)
            if (mas[i] >= 1000)
            {
                mas[i - 1] += mas[i] / 1000;
                mas[i] %= 1000;
            }
        if (mas[index] >= 1000)
        {
            mas[index - 1] += mas[index] / 1000;
            mas[index] %= 1000;
            index--;
            if (mas[index] >= 1000)
            {
                mas[index - 1] += mas[index] / 1000;
                mas[index] %= 1000;
                index--;
                if (mas[index] >= 1000)
                {
                    mas[index - 1] += mas[index] / 1000;
                    mas[index] %= 1000;
                }
            }
        }
    }
}
 
void Factorial::WriteFactorial(int factorial)
{
    _Factorial(factorial);
    int i = 0;
    while (mas[i++] == 0);
    std::ofstream out("factorial.txt", std::ios::out);
    for (i -= 1; i < n; ++i)
    {
        if (mas[i] >= 100)
            out<<mas[i];
        else
            if (mas[i] < 10)
                out<<"00"<<mas[i];
            else
                out<<"0"<<mas[i];
    }
}
 
void Factorial::PrintFactorial(int factorial)
{
    _Factorial(factorial);
    int i = 0;
    while (mas[i++] == 0);
 
    for (i -= 1; i < n; ++i)
    {
        if (mas[i] >= 100)
            std::cout<<mas[i];
        else
            if (mas[i] < 10)
                std::cout<<"00"<<mas[i];
            else
                std::cout<<"0"<<mas[i];
    }
}
3000!
414935960343785408555686709308661217095111919493180991768946765769755856512353195008600076521780034200751846353836171184 957508711140459077945534021610683396116210379041991775220626633901796828051647196974959688424577287660971030037261110953 402411271188331577388153284389297376130211063129303744014853787254460796102904294910497938881207625116251329170046416689 621175902035751754889806535778689152850937824699946746991908320935110683638242870635222685443392137751504885881040368188 090992929124971419005089389944047153514731545315874415099601742678750874603679741170723687472771439889206836916185036081 984597180937844535239585053776110865111623631459208861085574508745139453054362137118981508471920944263742032750299963337 849440147756714146808242074999147148783596697206389546705899601785694802633887671128710680049508274007171248194763864013 691935443541203127866014347925499591435301206531034066255032310207383515021951031486736123387393950965514621593490157899 499440723110044269248381401414554878727380458560235615832043179459530558306933512468907212461514684853087240312679670891 135489827334753757568993651763964247817334625108790157434373989204922670983170339321071763439833524445760404765654004144 146994799843545545977993867028394285134131889131656953108485135250940061477740470073314065417944280044366919036854692708 572717016480115120574524486079687737848036606530091098156390912941106337156215409038001350586716242623339024341666287165 212285902745688335048979268693697928783768948414365738664369550754739648822562221833800146007611968592176032348084674552 163304117380043311442259262436905587829149079738857587845857398286953903023838372658824276543064375177578972150450713618 017300516284244762942274857556278287634987671952813689135839188244992847415916831303340321999467520829148857643458638323 135452050759559120620672732969513861229946586075273178844524498653481641692388448890614958509343734428898148844273218171 312725338915345065811438233812058753798086050808897617538828962529336337504545491686002672295912255288545844826866553243 130113537548124095612376860780077007079395418489071494673778544075283078729881039129451219298647937034512574364455814597 571408227059863251653529065845711235852702119334529811055683988098840949803461850780252730387367840421694272379804643042 500450308066370327600163419214428057088024308505678921086469774551395391198386361671903002781463801369324823327715951805 961930695042378360826205708872092979297974294045768773383198774446855442948003217410566894237105450288704196119150727390 000316420144742133232938716180295556140046028674004228853898546503280284285151222960287957418016218232360983209714410470 125330673148961532367887349845539496043970503523477662113959145192704221222314269986920874635209806862243548133761943951 319428681134865315622281732149764817053818461553265961875302964786011608722636404439222576019264946109168851510131439455 743983031925571541621514424691223705191490978618494361509631099336395945617965933968519586053386311763241470668422571923 947425317264795597499932832472798078964707530540141940902006097126747531863655254032127577578539306975300565952082074574 994718981444537722482078884433351185456015688537081828928952183001396543769472864187766657628153897373401594105436814354 373461342446920670700827824236455574508825566701572427528103171416406314106813843309240272813189608848130406652261695528 256371838624649442956888593938467267236941994755713205460182634257310291153535327288081827730215967870884372934121170845 115806299676972666016636352769599690215021221049542595672785931855162684471003744346204220035353912037383930954206950214 862073906531909108213443342514978962842361985716747738481260974430550362508663547207309712980846971965377227798931602005 607250580075124074944481633922143981184927482819786551784785477491987141384850422903839540905708420381372771356677035650 410817805206950321362335216927405310153409217618340788177356746467490716166006532304389026397860655090053098724354456893 156013299424071122950154537715210519424455127953649712148722221937292891598330017423979775925305013188378834948842322225 073188163994389356278171028754325887945588577427803907171663812579037981491484455268858716299310145107332155547732645760 359161842987083232375688379171350730060267382922946870810307519460203764381386771073337793125822573564355345771628040304 809257859097472334139329040722398600054482692961103936401275395398993974200219252689286225649592791363695469832473144940 942974942132087169636628129638461913781146092107010330121199342649416664491303108984935353664018312826831125065783864259 065371970109072764293305347512973367169294150478709492417781215349794994497323584451302100297203599935765077305636969505 399908912520048101200905696331443681791942479635633891024862507733672493998017234516270488501494383437358264400534814749 574213288736484795895538438363782756014333777988161268544624064941344161191089526533267616276602211308792116659243794965 348380302360642949819855410143115666017395185394260086731985645866846354427301800222926075897671921983675295283651587155 218876983179990058531215186910377766768836542912474198260994345356715294128238376121155556862104545838103551544049537184 707263632185327754865018110026213312284298609261121595730660239320774767428009094626743221388052906430677112769640137359 062510510506235682413176515330307753589751345651474241674015174707208391018699899932793649108926879247397058141528555439 659542226039190592658256373446764063595258389669815119839598866036837530420179903281859455694125505190663028548695333776 829846000318080938221300381022143870574611813042519619164059704560351831217081516586473565565405329284117486289570828567 923000535258463770612805914520355463899321278759063496278379758713525886182132522635770383962027373853249083536804979900 857015224833034395251973446533429946525652360967428345505237397339023742618088717992837222853662934392408957629131544421 065736092054818421393658938677155428424772751001667343577430936389484445647643771840738743794710078671510704495546576262 815661375507307637680806000318442962339778082333113597875771369830128175716256716832872815119373366857894371090977485812 228681268241223172726811849752078634531074953317082601531594402536453655244535879520347452134292489166445048043553522819 777219819718690548841768963987827047820661269214725486182478596264342791902745034529947693679972172851654655917994717890 678856872785744700842897237782347630807409195129662383464278396538650173246658501921440916946303712655811977007746825620 351983187829135910139978173036351737647067143839928102912244608483205189832483488551310255397215831849316536707322731729 954317507754756347481273209566554318518795869781724917217008657680989083278308382404377379744553425256887128988555131809 670124978594542906096273705906599707841727384207216055767890605651676945654901203881657758619392309243629833895498572798 745233980904998584674848503995091093988342104246931136178759786118030961087743627649904146551675455076136657259149933761 143402437629102903841358885313125911325448492258960071848511693901939854346494154837823383025313687759900054437223329014 625681840959988305225215853285998339903365954189326966801632658993582346632470803240204297913574257554985493728961920916 507946719971214398325815539458351256480108898868870568827112226287340357724184248032311730273384422206040156092420795694 932049438094024655625303033288241653020380060412884443848841891293939859717656702115016113401211693555358649848029415632 382794475763150426857342698631165628009321645781654104118990783962107586051450915265284224336472308804690884264125251265 847291340591951717542911526220022297569869279591246209643630570521330992164222584376518891936303298512232829508061262005 735655542131835558382893181387959409623037927772303444234323415616035585905023244752745026308698314141253963717544136118 972691586507167223080834352955784010872360273470011187861462331854394310570584837704748060350045568850206027302222563976 307389399850249781551826799169941641455403299098131905066543581566576915290689081862041384440914563552912420649017174364 304734551913759229149532829881518087400767334869976953228714507915844487039804057376735557778735939378915771479560233407 084563923141701183925552346181197759156733859559192652706240637342777602158465110353680579633207148969426633585703753058 296766082242084654645585566678892226276199902639617926374578516525409187566085438596612219442487204249600000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.