Расчет среднего из 2 цифр - PullRequest
4 голосов
/ 01 июня 2011

Как рассчитать среднее из 2 цифр с помощью мозгового штурма?

Я имею в виду, что у меня есть две цифры, например 2 3, и его среднее значение составляет 2.5

для 2 8 у нас есть 5.0

Как это можно сделать

Ответы [ 2 ]

2 голосов
/ 01 июня 2011

Что-то вроде:

++>++++++++< this is input data
[<+>-] this adds the numbers
<[[->+<][->>+<<]] this does the calculation

Подход заключается в равномерном распределении суммы двух чисел. Под равномерно распределите Я имею в виду, что разница между значениями составляет не более 1 (поскольку чисел с плавающей запятой нет, вам нужно как-то представить, например, 2.5). Если у вас есть две соседние ячейки, содержащие эти значения, не стесняйтесь делать с ними все, что вы хотите (вы можете вывести ее, затем уменьшить числа из каждой ячейки и, если у вас останется 1, вывести в нее «.5»).

Конечно, приведенный выше код может содержать ошибки указателя, но этого должно быть достаточно для запуска и отладки. Кроме того, я был бы очень рад увидеть хорошее, эффективное решение.

1 голос
/ 13 августа 2012

лучшее решение:

,>,                               //input 1 and 2
>++++++[-<--------<-------->>]<<  //decrement both by 48
[->+<]>>++<                       //add them and then put 2 in the third cell(devisor)
[                                 // ... 
>[->+>+<<]
>[-<<-
[>]>>>[<[>>>-<<<[-]]>>]<<]        //integer division (4/2 = 2, 3/2 = 1...)
>>>+ 
<<[-<<+>>] 
<<<]
>[-]>>>>[-<<<<<+>>>>>]            //...
<<<<++++++[-<++++++++>]<.         //increment 28 and print result
...