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

Определить, является ли заданное натуральное число совершенным - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ разложение тангенса http://www.cyberforum.ru/cpp-beginners/thread307395.html
Бодрого утра....вот не могу справиться с ошибками...буду очень благодарна, кто поможет... #include <iostream> #include <conio.h> #include <math.h> using namespace std; #define PI 3.141592654
C++ Преобразовать строку, заменив точками все двоеточия, встречающиеся среди первых n/2 символов, и заменив точками все восклицательные знаки... 14.24. Дана строка. Преобразовать ее, заменив точками все двоеточия, встречающиеся среди первых n/2 символов, и заменив точками все восклицательные знаки, встречающиеся среди символов, стоящих после n/2 символов. Через библиотеку string.h Через программу си Добавлено через 12 минут Помогите пожауйсто люди добрые,а то я не понимаю как их решать http://www.cyberforum.ru/cpp-beginners/thread307390.html
работа с двумерным массивом. C++
Доброго всем времени суток, помогите решить задачку(знаю что элементарная но что то не выходит ни чего) Дана целочисленная прямоугольная матрица. Определить количество столбцов, ни содержащих ни 1-го нулевого элемента. Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответсвии с ростом...
Вывести на экран часть массива расположенную выше главной диагонали. C++
Дан двумерный массив размером 10х10. Вывести на экран часть массива расположенную выше главной диагонали. Нужно решить через СИ
C++ Простейший графисеский редактор http://www.cyberforum.ru/cpp-beginners/thread307381.html
Реализовать простейший векторный графический редактор со следующим набором функциональных возможностей: задание цвета фона, на котором происходит рисование. рисование точек различного цвета и размера рисование ломаных линий различного цвета и толщины рисование многоугольников различного цвета размер точек и толщину линий выбирать с помощью меню из набора значений 1,3,5,7,9,11,13,15 ...
C++ Разработайте алгоритм и напишите программу с использованием вложенных операторов цикла for для расчета СУММА(от i=1 до n)СУММА(от j=1 до m)(2*i+j) Вот исходник // программа на использование оператора цикла for #include <iostream.h> void main() { int y,n,m; y = 0; for (n=1; n<2; n=+2) { for (m=1;m<3;m=+n) подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.07.2011, 12:02     Определить, является ли заданное натуральное число совершенным
Является ли число совершенным. Вычисление на этапе компиляции.

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
template<int N, int X>
struct is_divide
{
    typedef typename 
    mpl::if_
    <
        mpl::modulus
        <
            mpl::int_<N>, mpl::int_<X>
        >, 
        mpl::false_,
        mpl::true_
    >::type type;
};
 
template<int N>
struct is_divide<N, 0>
{
    typedef mpl::false_ type;
};
 
template<int N, int X>
struct calc_divs
{
    typedef typename
    mpl::plus
    <
        typename calc_divs<N, X - 1>::type,
        typename mpl::if_
        <
            typename is_divide<N, X>::type,
            mpl::int_<X>,
            mpl::int_<0>
        >::type
    >::type type;
 
    static void print()
    {
        if (is_divide<N, X>::type::value)
        {
            std::cout << X << '\n';
        }
        calc_divs<N, X - 1>::print();
    }
};
 
template<int N>
struct calc_divs<N, 0>
{
    typedef typename mpl::int_<0>::type type;
    static void print()
    {
    }
};
 
template<int N>
struct is_perfect
{
    typedef typename 
    mpl::equal_to
    <
        mpl::int_<N>,
        typename calc_divs<N, N/2>::type
    >::type type;
};
 
template<int N>
struct calc_divs_
{
    typedef typename calc_divs<N, N/2>::type type;
 
    static void print()
    {
        calc_divs<N, N/2>::print();
    }
};
 
Текущее время: 20:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru