Помогите с информатикой, напишите программу на VB.Net Два натуральных числа называются дружественными, если каждое из них равно сумме всех делителей другого (Само и другое число в качестве делителя не рассматривается). Найти вс...
Помогите с информатикой, напишите программу на VB.Net
Два натуральных числа называются дружественными, если каждое из них равно сумме всех делителей другого (Само и другое число в качестве делителя не рассматривается). Найти все пары дружественных чисел, которые меньше N (N вводится с клавиатуры)
Пример дружественных чисел:
220 и 284, т.к.
Сумма делителей 220 = 1+2+4+5+10+11+20+22+44+55+110=284
Сумма делителей 284 = 1+2+4+71+142=220
ПОМОГИТЕ ПЖЛСТ
Ответ(ы) на вопрос:
Гость
Код на VBScript - проверялся, работает
Function SumOfDividers(ByVal num)
SumOfDividers = 0
for i = 1 to num - 1
if num mod i = 0 then SumOfDividers = SumOfDividers + i
next
End Function
Sub Zadanie23317569(ByVal n)
for i = 2 to n
k = SumOfDividers(i)
if SumOfDividers(k) = i then Msgbox i & " " & k
next
End Sub
Zadanie23317569 300
Код на VB.Net - исправление как догадалась, не проверялось
Sub Main(ByVal n)
Dim i As Integer
Dim k As Integer
for i = 2 to n
k = SumOfDividers(i)
if SumOfDividers(k) = i then Console.WritelLine(i & " " & k)
next
End Sub
Function SumOfDividers(ByVal num As Integer) As Integer
Dim i As Integer
SumOfDividers = 0
for i = 1 to num - 1
if num mod i = 0 then SumOfDividers = SumOfDividers + i
next
End Function
Не нашли ответ?
Похожие вопросы