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

Вычислить факториал 100! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Getchar и putchar тип данных http://www.cyberforum.ru/cpp-beginners/thread668973.html
Скажите пожалуйста, почему мы используем именно тип int в данной программе, а не char? (в книжке про это написано, но я не понял что там имеют ввиду) #include <stdio.h> int main() { int c; while((c = getchar())!=EOF) { putchar(c); }
C++ Запись в файл Что-то не то в функции write, вроде всё логично, но не выводит(подскажите ошибку #include "stdafx.h" #include "stdafx.h" #include "iostream" #include <fstream> using namespace std; struct Value http://www.cyberforum.ru/cpp-beginners/thread668970.html
C++ Проверка деления на нуль
Как проверить в этом коде условие?? Так чтоб было сообщения деления на нуль?? #include<iostream> #include<stdio.h> #include<conio.h> #include<math.h> float a,b,c,d,x; int main()
Обьяснение программы C++
Для Х, принимающего значения от XN до XK с шагом ∆X, определить Y. При условии: Y=A,если x>g Y=B,если 0<=x<=g Y=C,если x<0 Результат выдать в форме таблицы значений X иY. Для таблицы обеспечить подпись столбцов. #include <stdio.h> #include <math.h>
C++ Поиск фамилий неуспевающих студентов с указанием номеров групп и кол-ва задолжностей http://www.cyberforum.ru/cpp-beginners/thread668922.html
Дан файл, содержащий сведения о сдаче студентами сессии. Структура записи файла: номер группы, фамилия и инициалы студента, оценки по четырём экзаменам и пяти зачётам ("з" -зачёт; "н" - незачёт). Написать программу выдающую следущую информацию: -фамилии неуспевающих студентов с указанием номеров групп и кол-ва задолжностей; - средний балл, полученный каждым студентом группы Х и всей группой в...
C++ Шифратор и дешифратор Помогите пожалуйста написать программу, которая зашифровывает файл и расшифровывает, заранее благодарю! подробнее

Показать сообщение отдельно
MasterRO
37 / 5 / 3
Регистрация: 15.09.2011
Сообщений: 73

Вычислить факториал 100! - C++

11.10.2012, 20:02. Просмотров 6050. Ответов 11
Метки (Все метки)

Необходимо вычислить факториал 100! и представить его в виде массива из 158 элементов, один элемент - 1 цифра числа. Само число очень большое и в целочисельные типы данных не помещается. Как быть??? Подскажите, пожалуйста.

Вот моя прога, которая работает только до 9!

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
// Факториал 100.cpp: определяет точку входа для консольного приложения.
//
 
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    double p=1; 
 
    //Вычисляем факториал
    for(int i=1; i<10; i++)
    {
        p*=i; cout<<p<<" ";
    }
     int k=0; cout<<endl;
 
    //Считаем количество цифр
 
    while (p>1)
    {k++; p/=10; cout<<k<<"  ";}
    cout<<endl;
 
    //Разбиваем число на массив десятичных цифр
    double d[158]; int c=k;
    for(int i=0; i<=k; i++)
    {   p*=10;
        cout<<"p="<<p<<" ";
        d[i]=floor(p);
        cout<<"d_"<<i<<"="<<d[i]<<" ";
        p-=int(p);
    }
    cout<<endl; cout<<endl; cout<<endl; cout<<endl;
    //Вывод получившейся последовательности
    for(int i=0; i<k; i++)
        cout<<d[i]<<" ";
    cout<<endl;
    system("pause");
    return 0;
}
    setlocale(LC_ALL, "Russian");
    double p=1; 
 
    //Вычисляем факториал
    for(int i=1; i<10; i++)
    {p*=i; //cout<<p<<" ";}
     int k=0; //cout<<endl;
 
    //Считаем количество цифр
 
    while (p>1)
    {k++; p/=10; cout<<k<<"  ";}
    cout<<endl;
 
    //Разбиваем число на массив десятичных цифр
    double d[158]; int c=k;
    for(int i=0; i<=k; i++)
    {   p*=10;
        //cout<<"p="<<p<<" ";
        d[i]=floor(p);
        //cout<<"d_"<<i<<"="<<d[i]<<" ";
        p-=int(p);
    }
    cout<<endl; cout<<endl; cout<<endl; cout<<endl;
    //Вывод получившейся последовательности
    for(int i=0; i<k; i++)
        cout<<d[i]<<" ";
    cout<<endl;
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru