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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Последовательность http://www.cyberforum.ru/cpp-beginners/thread645447.html
А как вывести на экран самую длинную последовательность?? Не получается!! #include "stdafx.h" #include "iostream" #include "conio.h" using namespace std; int _tmain(int argc, _TCHAR* argv)...
C++ Преобразовать в числа и вычислить арифметическое выражение написать программу, которая просит ввести из 5 знаков состоящую цепочку типа С формата xx+yy или xx-yy , где xx и yy целые двухзначные числа, и считает результат выражения: элементы цепочки хх и... http://www.cyberforum.ru/cpp-beginners/thread645445.html
Вычислить сумму элементов числового массива C++
одномерный и матрицы Добавлено через 2 минуты вычислить сумму элементов числового массива А=(а1,а2,...,аN). данные: N=5, ,А = (3,5,-2,6,3) Добавлено через 49 секунд найти сумму фибоначчи,...
C++ Решение квадратного уравнения
ax2+bx+c=0 решение зависит от значения дискриминанта D=b2-4ac :  D > 0, 2 разных корня;  D = 0, 1 корень;  D <0, реальных корней нет. Написать программу, которая : написать функцию,...
C++ Ограничение! http://www.cyberforum.ru/cpp-beginners/thread645432.html
Может кто-нибудь мне помочь как сделать ограничитель то есть вот у меня код и мне нужно чтоб ______________________________ cmd->buttons &= ~IN_MOVERIGHT; cmd->buttons |= IN_MOVELEFT;...
C++ Составить программу, читающую загрузочный сектор диска и выводящую на экран основные характеристики диска из BPB доброго времени суток. задали такую лабораторную. 2. Составить программу, читающую загрузочный сектор диска и выводящую на экран основные характеристики диска из BPB. как сделать вообще ума не... подробнее

Показать сообщение отдельно
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.09.2012, 18:17
В компайл тайм:
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
#include <iostream>
#include <ratio>
#include <cstdint>
 
template < int i >
struct Factorial
{
    static const std::uint64_t value = i * Factorial< i - 1 >::value;
};
 
template <>
struct Factorial< 1 >
{
    static const int value = 1;
};
 
template < int i >
class Sum
{
private:
    typedef std::ratio < 1, Factorial< i >::value > current;
 
public: 
    typedef std::ratio_add< current, typename Sum< i - 1 >::value > value;
};
 
template <>
class Sum< 1 >
{
public:
    typedef std::ratio< 1, 1 > value;
};
 
int main()
{
   constexpr int n = 10;
    
   typedef typename Sum< n >::value result_ratio;
    
    constexpr std::uint64_t num = result_ratio::num;
    constexpr std::uint64_t den = result_ratio::den;
    std::cout << static_cast< double > (num) / den + 1 << std::endl;
}
Результат: http://liveworkspace.org/code/020ff9...d2ac46a8d75511
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru