Между цифрами числа вставить 6 операций умножения или сложения - VB

Узнай цену своей работы

Формулировка задачи:

Дано 7-значное натуральное рандомное число. Надо между цифрами этого числа вставить 6 операций умножения или сложения так, чтобы при выполнении этих операций над цифрами получалось максимально возможное число. Важное условие: полагается что умножение и сложение одного приоритета. Вынести на форму само число, число со вставленными знаками операций и максимальный результат этих операций. Меня конечно заинтересовала эта задача с другим условием Приоритет умножения должен быть выше сложения. Но это оказалось гораздо сложней. И я привожу решение в той формулировке, в которой эта задача дана. И всё-таки. Так ли это сложно? Всего 6 операций. Число умножений легко сосчитать. Единственная проблема: куда девать результат?? Я сейчас пытаюсь сделать Стек для вычисления арифметического выражения. Путей много, а результата нет ....

Решение задачи: «Между цифрами числа вставить 6 операций умножения или сложения»

textual
Листинг программы
Private Sub GetOp()
    Dim num     As Long
    Dim res     As String
    Dim value   As Long
    
    Randomize
    
    value = Int(Rnd * 9) + 1
    For num = 0 To 5
        value = value * 10 + Int(10 * Rnd)
    Next
 
    Do
        num = value Mod 10
        value = value \ 10
        If num < 2 Then res = "+" & num & res Else res = "*" & num & res
    Loop While value > 9
    
    Debug.Print IIf(value > 2, value & "*" & Mid$(res, 2), value & "+" & Mid$(res, 2))
End Sub

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы