Найдите все двузначные числа, сумма цифр которых не меняется при умножении числа **...

0 голосов
189 просмотров

Найдите все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8 и 9.
Нужно нарисовать алгоритм (блок-схему) и написать программу в Visual Basic-e. Или хотя бы что-то из этого, помогите пожалуйста.


Информатика (15 баллов) | 189 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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

Тестовое решение:
18 45 90 99

(142k баллов)