Страница 1 из 1

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

Добавлено: 28 ноя 2014, 20:56
миша_кол
Разработать программу, которая выводит совершенные числа

совершенные числа - те, которые равны сумме своих младших делителей (6, 28...)

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

Добавлено: 02 дек 2014, 07:56
SAS888
Для первых 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