помогите с кодом

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
миша_кол
Сообщения: 2
Зарегистрирован: 23 ноя 2014, 13:48

Разработать программу, которая выводит совершенные числа

совершенные числа - те, которые равны сумме своих младших делителей (6, 28...)
SAS888
Сообщения: 156
Зарегистрирован: 16 янв 2008, 08:28

Для первых 8-ми чисел:

Код: Выделить всё

Sub SovNum()
    Dim i As Long
    For i = 1 To 20
        If Simpl(i) Then MsgBox 2 ^ (i - 1) * (2 ^ i - 1)
    Next
End Sub

Function Simpl(n As Long) As Boolean
    Dim i As Long, a As Long
    a = 2 ^ n - 1: Simpl = True
    For i = 2 To a - 1
        If a Mod i = 0 Then
            Simpl = False: Exit Function
        End If
    Next
End Function
Ответить