Замена условного оператора одной большой формулой - VB

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

На вход подаётся число и четыре вида преобразования, выглядит это так: Если введено 0 - умножить число на 1.5 Если введено 1 - умножить на 1 На вывод программа должна выдать сумму всех четырёх преобразований входного числа. Пример работы: Ввод: 2 1 1 0 1 Вывод: 9 А теперь самое интересное, нельзя использовать условные операторы, никаких. Только линейный алгоритм. Есть какие-нибудь идеи?

Код к задаче: «Замена условного оператора одной большой формулой - VB»

textual
Private Sub Command1_Click()
Dim a As Long, b() As Variant, x As Long, i as Long
a = 2
b = Array(1, 1, 0, 1)
For i = 0 To UBound(b)
x = x + a * (1.5 - 0.5 * b(i))
Next i
Debug.Print x
End Sub

14   голосов, оценка 3.714 из 5


СОХРАНИТЬ ССЫЛКУ