Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/48: Рейтинг темы: голосов - 48, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 11

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

07.03.2011, 23:39. Показов 10516. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте ! Подскажите как найти совершенное число , т.е. число равное сумме делителей ( 6=1+2+3 или 28=1+2+4+7+14) . Те. ввести любое число и проверить является ли оно совершенным . Хотя бы с чего начать ? Буду очень признателен
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2011, 23:39
Ответы с готовыми решениями:

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

Поиск совершенного числа в массиве
Необходимо найти в массиве все совершенные числа в диапазоне от n1 до n2. Будем учитывать, что массив уже заполнен. //задаём диапазон...

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

29
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
10.03.2011, 16:33
Студворк — интернет-сервис помощи студентам
n \ i делегие нацело 7\2=3 6\2=3

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Command1_Click()
Dim n%, i%, k%
 n = Val(InputBox("Введите число для проверки"))
  For i = 1 To n \ 2
   'If n Mod i = 0 Then k = k + i
   If Int(n / i) = n / i Then k = k + i
  Next
MsgBox "Число " & n & IIf(k <> n, " - несовершенное", " - совершенное")
End Sub
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 11
12.03.2011, 23:13  [ТС]
Привет народ ! Сорри но ответа пока нет Но зато есть новое задание , в добавок к этому нужно вывести все совершенные числа до 10000 на отдельный лист экселя . То есть проверить на совершнное число и вывести на отдельный лист проверяемое число и список совершенных чисел до 10000 ( и всего 4 !)
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
13.03.2011, 00:03
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub p10000()
Cells.Clear
Dim n%, i%, k%, p%
  For i = 4 To 10000 Step 2
  k = 0
  For j = 1 To i \ 2
   If i Mod j = 0 Then k = k + j
  Next j
  If k = i Then p = p + 1: Cells(p, 1) = i
   Next i
End Sub
Добавлено через 39 минут
есть более "быстрый алгоритм" , оставляю для подумать
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 11
17.03.2011, 01:34  [ТС]
А без функции mod есть что нибудь ?
0
39 / 27 / 1
Регистрация: 11.01.2011
Сообщений: 113
17.03.2011, 05:23
Держи как ты и хотел 8 строчек и с помощью цикла, но ежели хочешь могу растянуть на 11 строчек
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Command1_Click()
for c= 1 to 10000
h=0: d=0
For i = 1 To c
h = c / i
If h = Int(h) And h < c Then d = d + h
Next i
If d = c Then p=p+1: Cells (p,1)=c
next c
End Sub
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 11
17.03.2011, 18:42  [ТС]
Так пойдет ? а как вывести на лист экселя ?


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function Nombre(n As Integer) As Boolean
    Dim somme As Integer
    Dim i As Integer
    i = 1
    Do Until i = n
        If n Mod i = 0 Then
            somme = somme + i
        End If
            i = i + 1
        Loop
    If n = somme Then
    NombreParfait = True
    End If
End Function
 
Sub testNombreParfait()
    MsgBox Nombre(InputBox("Введите число для проверки на совершенное." _
    , "Введите число"))
End Sub
 Комментарий модератора 
Используйте теги форматирования кода!
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
17.03.2011, 18:50
Wax, скажи на милость, зачем народу голову морочишь,
тебе выложили три варианта (чем не подходят) да и вывод на лист тебе предлагали
твой вариант не отличается оригинальностью (скорее наоборот), про оптимальность умолчу
1
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 11
17.03.2011, 18:59  [ТС]
Сорри если надоедаю , просто в этом посте будет не большая база по вба по совершенным числам . Опять же для общего пользования .
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
17.03.2011, 19:03
Цитата Сообщение от Wax Посмотреть сообщение
Опять же для общего пользования
если так, то, имхо, надо начинать с определения совершенного числа
к месту, может ли быть совершенным число 2n+1, надо ли проверять числа до 5 ,
и не лишнее ли проверять делители до


Цитата Сообщение от Wax Посмотреть сообщение
Do Until i = n
?
0
0 / 0 / 1
Регистрация: 26.06.2013
Сообщений: 31
26.06.2013, 12:52
Ребятаааа! У меня тоже задание только надо чтобы еще результат сохранялся

Option Compare Database
Private Sub Кнопка1_Click()
Dim n%, i%, k%
n = Val(InputBox("Введите число для проверки"))
For i = 1 To n \ 2
'If n Mod i = 0 Then k = k + i
If Int(n / i) = n / i Then k = k + i
Next
MsgBox "Число " & n & IIf(k <> n, " - несовершенное", " - совершенное")
End Sub


Подошло! теперь сохранялка нужна

Добавлено через 2 минуты
http://cs416219.vk.me/v4162195... Z4FhvI.jpg

Вот вообще задание!

Добавлено через 22 секунды
Visual Basic
1
2
3
4
5
6
7
8
9
10
Option Compare Database
Private Sub Кнопка1_Click()
Dim n%, i%, k%
 n = Val(InputBox("Введите число для проверки"))
  For i = 1 To n \ 2
   'If n Mod i = 0 Then k = k + i
   If Int(n / i) = n / i Then k = k + i
  Next
MsgBox "Число " & n & IIf(k <> n, " - несовершенное", " - совершенное")
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.06.2013, 12:52

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru