#Python, 147 bytes

<!-- language: lang-python -->

    def r(s):
     n=str(eval(s));t="+" if "+" in s else "*"
     while len(n)!=1:exec("n=str(reduce(lambda a,b:a"+t+"b,[int(x) for x in list(n)]))")
     return n

Will post an explanation soon.

Input is in the form `12+12` or `5*35` (with normal `+` and `*` signs), and assumes that those are the only two operators.

I'm almost certainly confident that this can be further golfed.