Let g(x)=f(x)/x (x is not zero), then 2g(m)g(n)=g(m/2)+g(n/2),
Let m=n, and it is obtained that g (m/2) = [g (m)] 2 > =0 holds for any nonzero m,
Then substitute G (m/2) = [g (m)] 2, G (n/2) = [g (n)] 2 into 2g(m)g(n)=g(m/2)+g(n/2), and we get: [g (m)-.
That is, the function g(x) is a constant function,
Note that g(x) cannot be zero (otherwise f(x) will be zero) and is non-negative, that is, g (x) >; 0,
And if x exists, g (x) >; 1, then g (x/2) = [g (x)] 2 > g (x), that is, G(x) is not a constant function, which is different from the previous conclusion.
Contradiction!
If x exists, 0
Contradiction!
Therefore, g(x) can only be constant at 1, and g(x)= 1 is also true.
So f (x) = XG (x) = X (when x is not zero)
And when x=0, it is easy to know that f(x)=0,
To sum up, only f(x)=x meets the problem.
The key point of this question is to see if f(x)=x meets the meaning of the question, and then get the answer by proving that f(x)/x is a constant and can only be 1.