наверно подразумевается "противополных знаков". вначале немного подумайте над алгоритмом.
заведите место хранения вводимых чисел (в примитивном случае - массив из 4х эл-тов, в общем - список arraylist,
подсчитывайте количество введённых чисел (или сразу считайте скольк=4).
помещайте модуль ( math.abs() ) в хранилище, если такого там ещё нет (в map не надо проверять, это множество). на выходе сравните количество введённых и заполненную длину хранилища: разница даст количество "противоположных чисел".
Function ds(ByVal n As Integer) As Integer 'Сумма цифр в числе n Dim s As Integer s = 0 Do While n <> 0 s = s + n Mod 10 n = Int(n / 10) Loop ds = s End Function
Function IsGood(n As Integer) As Boolean 'Сохраняется ли сумма цифр при умножении числа на 2,3,..9 ? Dim etalon As Integer, k As Integer etalon = ds(n) IsGood = True k = 2 Do While IsGood And k < 10 IsGood = (ds(n * k) = etalon) k = k + 1 Loop End Function
Sub aaa() Dim i As Integer, s As String s = "" For i = 10 To 99 If IsGood(i) Then s = s + Str(i) Next i MsgBox s End Sub
наверно подразумевается "противополных знаков". вначале немного подумайте над алгоритмом.
заведите место хранения вводимых чисел (в примитивном случае - массив из 4х эл-тов, в общем - список arraylist,
подсчитывайте количество введённых чисел (или сразу считайте скольк=4).
помещайте модуль ( math.abs() ) в хранилище, если такого там ещё нет (в map не надо проверять, это множество). на выходе сравните количество введённых и заполненную длину хранилища: разница даст количество "противоположных чисел".
ну, а вы же учитесь, а не я.
'Сумма цифр в числе n
Dim s As Integer
s = 0
Do While n <> 0
s = s + n Mod 10
n = Int(n / 10)
Loop
ds = s
End Function
Function IsGood(n As Integer) As Boolean
'Сохраняется ли сумма цифр при умножении числа на 2,3,..9 ?
Dim etalon As Integer, k As Integer
etalon = ds(n)
IsGood = True
k = 2
Do While IsGood And k < 10
IsGood = (ds(n * k) = etalon)
k = k + 1
Loop
End Function
Sub aaa()
Dim i As Integer, s As String
s = ""
For i = 10 To 99
If IsGood(i) Then s = s + Str(i)
Next i
MsgBox s
End Sub
Тестовое решение:
18 45 90 99