# Can I do this kind of process with a pure math function?

I need to made a formula for a software, and I can use only these functions/operarions.

The input values range for this process is from 0 to 9. The input values are inserted random.

I want that if the input value is <5, the output of the formula is the value just inserted. Else, it must outputs the last output value.

For example, if the sequence is:

1 6 3 2 7 4 9...


the output must be

1 1 3 2 2 4 4...


Unfortunatly, I need to write this formula in one line expression. There isn't any memory/assignation available.

Is it possible do this with a simple math process? "Keeping" in some way a value with the available functions listed above?

• Can't you use the A/B/C knobs as memory? – Memming Jan 16 '14 at 15:26

What you want is not possible, a function is a map $f: A \rightarrow B$.

That means you assign every element $a \in A$ an unique element $f(a) \in B$.

A function doesn't have any memory, in particular it can't remember the last argument it was evaluated at.

Do you want to code the problem ? In C the code is as follows :

while( scanf("%d",&n) )
{
n = (n<5)?prev:n;
prev = n ;
printf("%d\n",n);
}

• As I said, I can't do any assignement, and prev = n is! – markzzz Jan 16 '14 at 15:35