powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Совершенные числа
10 сообщений из 10, страница 1 из 1
Совершенные числа
    #34267777
rebroff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем неравнодушным. Есть задание:напечатать 5 первых совершенных чисел(сумма делителей равна самому числу). Мучаюсь с утра, ничего не выходит. Выводит первые 4-ре и виснет. Подскажите, пожалуйста, где ошибка. Вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
#include <iostream.h>
int sov(long int);
int main(){
	int k= 1 ;
	long int i= 6 ;
	const n= 5 ;

	while(k<n+ 1 ){
		if (sov(i)== 1 ){
		   cout<<i<<endl;
		   k++;};
	    i++;
	};

return  0 ;
}
int sov(long int a){
int s= 0 ;
for(long int i= 1 ;i<=a/ 2 ;i++)
	if (a%i== 0 )s=s+i;
if (s==a) return  1 ;
	else return  0 ;
}

...
Рейтинг: 0 / 0
Совершенные числа
    #34267836
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А пятое точно существует в природе?
Первые 4 числа верные?
единица является делителем?
...
Рейтинг: 0 / 0
Совершенные числа
    #34267849
rebroff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. 1-делитель. Не учитывается само число. Первые 4-ре-верные.
...
Рейтинг: 0 / 0
Совершенные числа
    #34267866
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В алгоритме ничего страшного не вижу.

Знаешь какое число должно быть 5-м? Выведи при этом числе в косоль все значения переменных и проанализируй.

Или может ты его еще не дождался?
...
Рейтинг: 0 / 0
Совершенные числа
    #34267885
rebroff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Или может ты его еще не дождался?
Ага. Но судя по динамике изменения разницы между двумя совершенными, я должен был дождаться.
...
Рейтинг: 0 / 0
Совершенные числа
    #34267902
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообзще поиск совершенных чисел долгий дох. проверь, может что неправильно делаешь:
Код: plaintext
1.
2.
3.
4.
5.
6
28
496
8 128
33 550 336
8 589 869 056
да и шестрое тебе long не взять...
а делителей и пятого до и выше.

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
Совершенные числа
    #34267927
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще почитай-ка:

http://ru.wikipedia.org/wiki/Совершенное_число

авторДоказано, что все чётные совершенные числа являются суммой кубов последовательных нечётных натуральных чисел: (
).

так что ты повесишься раньше, чем дойдешь до 33 миллионов...

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
Совершенные числа
    #34267943
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinтак что ты повесишься раньше, чем дойдешь до 33 миллионов...

Так что надо оптимизировать и ждать.
...
Рейтинг: 0 / 0
Совершенные числа
    #34267948
rebroff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinа вообще почитай-ка:

http://ru.wikipedia.org/wiki/Совершенное_число

[quot автор]Доказано, что все чётные совершенные числа являются суммой кубов последовательных нечётных натуральных чисел: (
).

так что ты повесишься раньше, чем дойдешь до 33 миллионов...

[quot]
Ясно. Неясной остаётся только лишь мотивация преподавателя...
...
Рейтинг: 0 / 0
Совершенные числа
    #34268042
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rebroffЯсно. Неясной остаётся только лишь мотивация преподавателя...

Возможно, можно оптимизировать поиск делителей.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Совершенные числа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]