Между цифрами числа вставить 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д