7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
1

Поиск совершенного числа в массиве

07.12.2013, 04:24. Показов 5918. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо найти в массиве все совершенные числа в диапазоне от n1 до n2. Будем учитывать, что массив уже заполнен.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    //задаём диапазон исследуемых элементов
    cout<<"Введите n1 = ";
    cin>>n1;
    cout<<"Введите n2 = ";
    cin>>n2;
 
    //находим совершенные числа
    int x;
    for(i = mas[n1]; i <= mas[n2]; n1++){
        x = i;
        for(j = 1; j < x; j++){
            if(x % j == 0)
                p+=j;
        }
        if(p == i)
            cout<< "Число " << i << " совершенное\n";
        p = 0;
    }
Программа работает неверно. Подскажите, в чём моя ошибка..?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2013, 04:24
Ответы с готовыми решениями:

Поиск совершенного числа N через цикл for
Сложить программу с помощью цикла for Задание Дано некоторое число N. Сложить программу поиска...

Поиск совершенного числа
Совершенное число́ (др.-греч. ἀριθμὸς τέλειος) — натуральное число, равное сумме всех своих...

Поиск совершенного числа
Здравствуйте ! Подскажите как найти совершенное число , т.е. число равное сумме делителей (...

Определение совершенного числа
Напишите программу, определяющую, является ли введенное пользователем натуральное число...

21
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
09.12.2013, 18:34  [ТС] 21
Author24 — интернет-сервис помощи студентам
katsidelin, программа находит совершенные числа, работает правильно, спасибо. Но сообщение, что таких чисел нет до сих пор не выводится...вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//находим совершенные числа
    p = 0;
    f = false;
    for(i = n1; i <= n2; n1++){
        for(j = 1; j < mas[i]; j++){
            if(mas[i] % j == 0 && j != mas[i])
                p+=j;
        }
        if(p == mas[i] && mas[i] > 0){
            cout<< "Число " <<mas[i]<< " совершенное\n";
            f = true;
        }
        p = 0;
        i++;
    }
 
    if(f = false)
        cout<< "Совершенных чисел в данном диапазоне не существует\n";
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
09.12.2013, 18:41 22
Цитата Сообщение от Кротяка Посмотреть сообщение
Но сообщение, что таких чисел нет до сих пор не выводится...вот код:
см комментарии:
Цитата Сообщение от Кротяка Посмотреть сообщение
C++
1
2
if(f = false)// здесь нужно так: if(f==false) или так: if(!f)
 cout<< "Совершенных чисел в данном диапазоне не существует\n";
2
09.12.2013, 18:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2013, 18:41
Помогаю со студенческими работами здесь

Определение совершенного числа в delphi
Я - всем чайникам чайник. Помогите пожалуйста составить программу в delphi, которая могла бы...

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

Написать программу поиска совершенного числа.
Задали две задачи - хз как решить, но уверен что они очень простые, а я очень глуп. 1) К любому...

Написать функцию определения совершенного числа
Написать функцию определения совершенного числа нужно оформить в виде фунции и завернуть все в...


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

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

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