Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 05.11.2016
Сообщений: 64
1

Найти все совершенные числа в заданном интервале

09.11.2016, 11:23. Показов 4208. Ответов 2
Метки нет (Все метки)

Задача.
Натуральное число называется совершенным, если оно равно сумме всех своих простых делителей, например 6 = 1 + 2 + 3. Найти все совершенные числа в заданном интервале.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2016, 11:23
Ответы с готовыми решениями:

Найти все совершенные числа в заданном интервале.
Информатика, 1 курс, прошу помочь с написанием программы Число называется совершенным, если оно...

Найти и распечатать все совершенные числа в заданном интервале
Чтсло равное сумме всех своих делителей,включая единицу,называется совершенным. Найти и распечатать...

Найти и напечатать все совершенные числа в заданном интервале
Число равно сумме своих делителей включая единицу называется совершенных.Найти и напечатать все...

Функции: найти все совершенные числа в заданном интервале
Число называется совершенным, если оно равно сумме всех своих делителей, например, 6=1+2+3,...

2
Эксперт С++
1935 / 1047 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
09.11.2016, 11:35 2
Лучший ответ Сообщение было отмечено Dmitriy45 как решение

Решение

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
std::list<int> divs(int value)
{
   list<int> result;
   for (int i = 0; i < value ++i)
   {
       if (value % i == 0)
       {
            result.add(i);
       }
   }
   return result;
}
 
bool isPerfect(int value)
{
     int result = 0;
     for(int i : divs(value))
     {
        result += i;
     }
     return result == value;
}
 
int main()
{
   int beginRange;
   cin >> beginRange;
 
   int endRange;
   cin >> endRange;
 
   for(int range = beginRange; range <= endRange; ++range)
   {
         if (true == isPerfect(range))
         {
               cout << range << " is perfect";
         }
   }
   return 0;
}
0
Объявлятель переменных
1035 / 340 / 301
Регистрация: 24.09.2011
Сообщений: 1,137
09.11.2016, 11:45 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
int main()
{
    unsigned long perfects[] = {6,28,496,8128,33550336,8589869056,137438691328,2305843008139952128};
    unsigned long a, b;
    std::cout << "a: ";
    std::cin >> a;
    std::cout << "b: ";
    std::cin >> b;
    if (a>b) a ^= b ^= a ^= b;
    for (int i = 0; i < 8; i++) {
        if (a <= perfects[i] && perfects[i] <= b) {
            std::cout << perfects[i] << std::endl;
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2016, 11:45
Помогаю со студенческими работами здесь

Найти все простые числа в заданном интервале
Добрый день. Задача следующая: ввести количество подсчётов (в задаче - cases). Потом столько же...

Найти в заданном интервале все числа, которые делятся на 13
Помогите пожалуйста, как найти цифры, которые деляться на 13, при этом они должны быть между двух...

Найти все совершенные числа в интервале от А до С.
Помогите пожалуйста написать листинг на С++Builder. Задание &quot;Найти все совершенные числа в...

Найти и напечатать все совершенные числа в интервале
Число, равное сумме всех своих делителей, включая единицу, называ- ется совершенным. Найти и...

Найти и напечатать все совершенные числа в интервале от 2 до х.
Число, равное сумме всех своих делителей, включая единицу, называется совершенным. Найти и...

Найти и напечатать все совершенные числа в интервале от 2 до X
Число, равное сумме всех своих делителей, включая единицу, называется совершенным. Найти и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru