Разработать программу, которая выводит совершенные числа
совершенные числа - те, которые равны сумме своих младших делителей (6, 28...)
помогите с кодом
Модератор: Naeel Maqsudov
Для первых 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