Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/34: Рейтинг темы: голосов - 34, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 31.07.2014
Сообщений: 8

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

02.08.2014, 21:01. Показов 7603. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Совершенные числа
(Время: 1 сек. Память: 16 Мб )
Число называется совершенным, если оно равно сумме всех своих делителей, меньших его самого. Требуется найти все совершенные числа от M до N.

Входные данные

Входной файл INPUT.TXT содержит числа M и N, разделенные пробелом. (1 <= M <= N <= 5*1018)

Выходные данные

В выходной файл OUTPUT.TXT выведите по одному числу в строке в порядке возрастания все совершенные числа, находящихся на отрезке [M, N]. В том случае, когда таких чисел нет следует вывести «Absent».

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
#include <stdio.h>
#include <math.h>
 
int main()
{
    int mas[8]={2, 3, 5, 7, 13, 17, 19, 31};
    long M, N, temp;
    int fl=1, i, fl1=0;
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    scanf("%ld%ld", &M, &N);
    for(i=0; i<8 && fl; i++)
    {
        temp=long(pow((double)2,(double) mas[i]-1)*(pow((double)2,(double)mas[i])-1));
        if(temp>=M && temp<=N)
        {
            printf("%ld\n", temp);
            fl1=1;
        }
        if(temp>N)
            fl=0;
    }
    if(!fl1){printf("Absent");}
  return 0;
}
Пролетает на 10 тесте, подскажите, где ошибка? Заранее благодарен
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.08.2014, 21:01
Ответы с готовыми решениями:

Найти все совершенные числа (С++)
Найдите все совершенные числа находящиеся в интервале (900;9000)

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

Найти все совершенные числа в заданном интервале
Задача. Натуральное число называется совершенным, если оно равно сумме всех своих простых делителей, например 6 = 1 + 2 + 3. Найти все...

21
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
03.08.2014, 15:29
Студворк — интернет-сервис помощи студентам
Neoks, как это может не проходить по времени? там файловый ввод вывод сделай.
0
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
03.08.2014, 22:07
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int is_perfect(const unsigned long long n)
{
    unsigned long long sum = 1;
    unsigned long long d1 = 2;
    unsigned long long d2 = n / 2;
    while( d1 < d2 ) {
        if( d1 * d2 == n ) {
            sum += d1;
            sum += d2;
        }
        d2 = n / ++d1;
    }
    if( d1 == d2 ) { sum += d1; }
    return sum == n;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.08.2014, 22:07
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru