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

Программа нахождения совершенных чисел - C++

Восстановить пароль Регистрация
 
mikhail90
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 76
21.03.2013, 18:34     Программа нахождения совершенных чисел #1
Нужно написать программу которая выводит совершенные числа (http://ru.wikipedia.org/wiki/%D0%A1%...81%D0%BB%D0%BE, меньшее 1000. Так же кроме самих совершенных чисел необходимо написать сумму их сомножителей. Программу я написал, но почему то числа у меня вывелись больше 1000 и не все числа, которые выводятся на экран, совершены. Помогите найти ошибки в коде
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
#include<iostream>
#include<math.h>
using namespace std;
void sovershenoe();
int main()
{
    setlocale(0,"");
    cout << "Число\tСомножители" << endl;
    sovershenoe();
}
void sovershenoe()
{
    int p = 2;
    int chislo = 0, delitel, summa = 0;
    while (chislo < 1000)
    {
        chislo = pow(2.0,p-1)*(pow(2.0,p) - 1);
        cout << chislo << "\t = 1 ";
        for(delitel = 2; delitel <= chislo/2 + 1; delitel++)
        {
              if(chislo%delitel == 0)
                cout << " + " << delitel;
        }
        cout << endl;
        p++;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2013, 18:34     Программа нахождения совершенных чисел
Посмотрите здесь:

C++ Программа для нахождения автоморфных чисел.
Программа нахождения всех чисел,кратных введённому C++
C++ Программа для нахождения слов-чисел. очень срочно!
Программа нахождения четных чисел в массиве. C++
Программа для нахождения всех совершенных чисел до 5000 C++
Программа определения положительных чисел и нахождения их суммы C++
C++ Программа для нахождения суммы квадратов всех нечетных чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
21.03.2013, 21:02     Программа нахождения совершенных чисел #2
Как то так наверное

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
void sovershenoe();
int main()
{
    cout << "Число\tСомножители" << endl;
    sovershenoe();
 
    return 0;
}
void sovershenoe()
{
    int chislo = 1, summa = 0;
    while (chislo < 1000)
    {
        for(int i=1;i<chislo;i++)
            if(chislo%i==0)
                summa+=i;
 
        if(summa==chislo){
            cout<<chislo<<"      ";
            summa=0;
            for(int i=1;i<chislo;i++)
                if(chislo%i==0)
                    cout<<i<<" + ";
                    cout<<endl;
        }
 
        summa=0;
        chislo++;
 
        }    
}
Yandex
Объявления
21.03.2013, 21:02     Программа нахождения совершенных чисел
Ответ Создать тему
Опции темы

Текущее время: 23:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru