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

Таблица факториалов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Глобальная константа http://www.cyberforum.ru/cpp-beginners/thread347404.html
Глобальные константы В С глобальная константа, т. е. инициализированная глобальная переменная с модификатором const, имеет своей областью действия всю программу (доступна для внешней компоновки), как и любая переменная без const. Другими словами, ее имя заносится в список глобальных символов объектного модуля и поэтому к ней можно обращаться из любого другого исходного файла программы. В...
C++ Командная строка. Сумма чисел. числа передаются в виде аргументов командной строки. #include <iostream> #include <locale> using namespace std; int StringToInt(const char * str, bool & err) { char * pLastChar = NULL; int param = strtol(str, &pLastChar, 10); http://www.cyberforum.ru/cpp-beginners/thread347372.html
Конструктор преобразования. C++
Есть класс Complex с двумя элемент данными: real и image Надо написать конструктор преобразования базового типа к типу, определяемому разрабатываемым классом, т.е. Complex. Я так понимаю конструктор должен принимать один параметр. Вот только какой? Если просто значение типа int, то после преобразования получится объект класса, в котором real имеет то значение, что преобразовывалось, а image...
C++ Работа с интернетом
Здраствуйте! Мне нужно написать программу на С/С++ для плотной работы с сайтами. Меня интересуют такие вопросы: как войти на сайт,работать с куками,кликать по кнопкам,заполнять формы и т.п. Подскажите пожалуйста в какую сторону копать, полезные ссылки
C++ Вопрос о приоритетах http://www.cyberforum.ru/cpp-beginners/thread347347.html
добрый вечер. Растолкуйте плиз почему в программе: class t { public: int sum; float f(int a) { sum++; return sum * a; } } cl; int main()
C++ Ввод чисел в массив Пользователь вводит 10-ти значное число, как сделать так чтоб каждое число этого большого числа попадало в массив без нажатия интер. То есть в идеале пользователь ввел число, нажал интер и все цифирки перебежали в массив. #include<iostream> using namespace std; int main () {setlocale(LC_ALL,"Rus"); const int dofiga=10; int a; cout<<"Введите число --> "; cin>>a; подробнее

Показать сообщение отдельно
diagon
Higher
1926 / 1192 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.09.2011, 11:10     Таблица факториалов
У меня 55! тоже нормально посчитало.
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
#include <stdio.h>
#include <iostream>
#include <sstream>
#include <vector>
#define base 1000000000
 
void writelong(std::vector<int> vec){
    printf ("%d", vec.empty() ? 0 : vec.back());
    for (int i=(int)vec.size()-2; i>=0; --i)
        printf ("%09d", vec[i]);
}
 
std::vector<int> smult(std::vector<int> a, int b){
    int carry = 0;
    for (size_t i=0; i<a.size() || carry; ++i) {
        if (i == a.size())
            a.push_back (0);
        long long cur = carry + a[i] * 1ll * b;
        a[i] = int (cur % base);
        carry = int (cur / base);
    }
    while (a.size() > 1 && a.back() == 0)
        a.pop_back();
    return a;
}
 
int main(){
    int b;
    std::cin >> b;
    std::vector<int> a(1,1);
    for (int i = 1; i <= b; i++)
        a=smult(a,i);
    writelong(a);
    return 0;
}
Опоздал =(
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru