
Androdora
6 год назад
Пожалуйста посчитайте с информатикой, напишите программу на 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Пожалуйста посчитайте ПЖЛСТ
ОТВЕТЫ

Кольо
Oct 24, 2020
Код на 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
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
160
Смежные вопросы: