7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
|
||||||
1 | ||||||
Поиск совершенного числа в массиве07.12.2013, 04:24. Показов 5927. Ответов 21
Метки нет (Все метки)
Необходимо найти в массиве все совершенные числа в диапазоне от n1 до n2. Будем учитывать, что массив уже заполнен.
0
|
07.12.2013, 04:24 | |
Ответы с готовыми решениями:
21
Поиск совершенного числа N через цикл for Поиск совершенного числа Поиск совершенного числа Определение совершенного числа |
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
|
|
07.12.2013, 16:34 [ТС] | 3 |
katsidelin, как раз таки нет. Мы задаём диапазон исследуемых значений в массиве - от n1-го элемента до n2-го
0
|
07.12.2013, 16:51 | 4 |
Прошу прощения, я ответил, не проверив код.
Пока ничего хорошего не получается у меня. В википедии почитал, что такое совершенное число. Принцип в складывании натуральных множетлей понял, а при реализации у меня то вылет за пределы массива, то ошибки при очистки памяти...
1
|
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
|
|
07.12.2013, 17:00 [ТС] | 5 |
katsidelin, Совершенными называются числа, равные сумме своих делите-
лей, без самого числа. Например, совершенным является число 28 = 1 + 2 + 4 + 7 + 14; 6 = 1 + 2 + 3.
0
|
07.12.2013, 17:45 | 6 | ||||||||||||||||||||
Попробуй поправить мой код. Кстати, ты забыл прирастить i в массиве -
Добавлено через 1 минуту
Пока теряюсь в догадках... Добавлено через 9 минут
Программа работает верно. Просто совершенные числа на столько редкие, что мощности моего процессора amd athlon 3200 не хватает для быстрого поиска.
1
|
51 / 51 / 21
Регистрация: 08.02.2013
Сообщений: 189
|
|
07.12.2013, 17:56 | 7 |
Не думаю, что программа работает правильно. Первый раз i была проинициализирована i = mas[n1]. Обновляется только индекс массива n1++. Значение переменной i же как было, так и остается равным mas[n1].
Соответственно условие i <= mas[n2] если было истинно на первой итерации, так и остается истинным на всех последующих. Плюс еще вложенный цикл пробегается на каждой итерации внешнего цикла полностью. Неудивительно, что загрузка ЦП 95.6%
0
|
51 / 51 / 21
Регистрация: 08.02.2013
Сообщений: 189
|
|
07.12.2013, 18:04 | 9 |
А где
А где в коде ТС вообще обновление переменной i, кроме как начальная инициализация ее во внешнем цикле for
0
|
51 / 51 / 21
Регистрация: 08.02.2013
Сообщений: 189
|
|
07.12.2013, 18:10 | 11 |
katsidelin, я про исходный код ТС говорю
а не про ваш. Разбираем же, кажется, где ошибка в коде у ТС. Все, что я писал ранее, относится к этому куску кода.
0
|
07.12.2013, 18:14 | 12 | |||||
Натыкайте меня носом, увы не понимаю ???? Добавлено через 1 минуту Ну, я не сразу понял что есть ТС. А свой код я лишь основал на его коде. Добавлено через 54 секунды А! Топик Стартер! ПОНЯЛ
1
|
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
|
|
07.12.2013, 19:17 [ТС] | 13 |
Extrim88, хорошо. Как по вашему должен выглядеть цикл?
Добавлено через 2 минуты katsidelin, вложенный цикл ищет натуральные делители числа. Начиная с единицы и заканчивая самим числом
0
|
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
|
|
07.12.2013, 20:10 [ТС] | 15 |
katsidelin, решили, спасибо.
Добавлено через 9 минут katsidelin, не могли бы вы подсказать, как теперь вывести на экран сообщение о том, что совершенных чисел не найдено? Ну т.е. если этих чисел нет в исследуемом диапазоне, то должно выводится это сообщение
0
|
07.12.2013, 20:34 | 16 | ||||||||||
Вот вывод из консоли:
Я тут кроссирую программу. Походу где-то недоработака, но не пойму где... В зависимости от выбранного диапазона решение меняется с правильного на неправильное. То находятся числа, не заданные в массиве, то не находятся заданные совершенные...
1
|
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
|
|
08.12.2013, 00:14 [ТС] | 17 |
katsidelin, я и сам вижу, что что то не так
и сообщение если таких чисел нет у меня не появляется, хотя делал так, как вы советовали
0
|
10 / 10 / 2
Регистрация: 13.02.2012
Сообщений: 94
|
|
08.12.2013, 00:33 | 18 |
Всё работает и всё показывает, перед return поставил system("pause"); или мб я не так понял.
0
|
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
|
|
08.12.2013, 00:52 [ТС] | 19 |
Fintt, у меня _getch() стоит, дело не в этом
Добавлено через 36 секунд проблема в том, что например у меня прога и 0 видит как совершенное число Добавлено через 28 секунд и не отображает, что совершенных чисел не найдено, если это так Добавлено через 24 секунды и вообще не всегда находит их в исследуемом диапазоне
0
|
08.12.2013, 02:32 | 20 | ||||||||||
Долго думал над кодом. x, по идее, можно из него вообще выкинуть, оставив i, но проблема пока не решена до конца. Добавлено через 10 минут
Компилятор gcc 4.8.2 на GNU/Linux Покажи весь код своей программы полностью, если не получается. Добавлено через 7 минут Вероятно вы забыли про фигурные скобки после if:
1
|
08.12.2013, 02:32 | |
08.12.2013, 02:32 | |
Помогаю со студенческими работами здесь
20
Определение совершенного числа в delphi Функция нахождения совершенного числа Написать программу поиска совершенного числа. Написать функцию определения совершенного числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |