9 Code and byte count previously didn't match, applied golfing suggestions in post comment and corrected byte count.

# Python, 166162 159 bytes

You guys are much better. This is what I used! (the algorithm that solved it calls this)

from primefac import*
def c(n):
x=factorint(n)
a=''
for i in range(len(x)):
l=min(x.keys())
a+=str(l)
if x[l]>1:a+=str(x[l])
x.pop(l)
return int(a)


# Python, 166 159 bytes

You guys are much better. This is what I used! (the algorithm that solved it calls this)

from primefac import*
def c(n):
x=factorint(n)
a=''
for i in range(len(x)):
l=min(x.keys())
a+=str(l)
if x[l]>1:a+=str(x[l])
x.pop(l)
return int(a)


# Python, 166162 159 bytes

You guys are much better. This is what I used! (the algorithm that solved it calls this)

from primefac import*
def c(n):
x=factorint(n)
a=''
for i in range(len(x)):
l=min(x.keys())
a+=str(l)
if x[l]>1:a+=str(x[l])
x.pop(l)
return int(a)

8 Code and byte count previously didn't match, applied golfing suggestions in post comment and corrected byte count.

# Python, 166162159 bytes

You guys are much better. This is what I used! (the algorithm that solved it calls this)

from primefac import *import*
def c(n):
x=factorint(n)
a=''
for i in range(0,len(x)):
l=min(x.keys())
a+=str(l)
if x[l]>1:
a+=str(x[l])
x.pop(l)
return int(a)


# Python, 166162 bytes

You guys are much better. This is what I used! (the algorithm that solved it calls this)

from primefac import *
def c(n):
x=factorint(n)
a=''
for i in range(0,len(x)):
l=min(x.keys())
a+=str(l)
if x[l]>1:
a+=str(x[l])
x.pop(l)
return int(a)


# Python, 166159 bytes

You guys are much better. This is what I used! (the algorithm that solved it calls this)

from primefac import*
def c(n):
x=factorint(n)
a=''
for i in range(len(x)):
l=min(x.keys())
a+=str(l)
if x[l]>1:a+=str(x[l])
x.pop(l)
return int(a)

7 Forgot to shorten function name

# Python, 166166 162 bytes

You guys are much better. This is what I used! (the algorithm that solved it calls this)

from primefac import *
def climbc(n):
x=factorint(n)
a=''
for i in range(0,len(x)):
l=min(x.keys())
a+=str(l)
if x[l]>1:
a+=str(x[l])
x.pop(l)
return int(a)


# Python, 166 bytes

You guys are much better. This is what I used! (the algorithm that solved it calls this)

from primefac import *
def climb(n):
x=factorint(n)
a=''
for i in range(0,len(x)):
l=min(x.keys())
a+=str(l)
if x[l]>1:
a+=str(x[l])
x.pop(l)
return int(a)


# Python, 166 162 bytes

You guys are much better. This is what I used! (the algorithm that solved it calls this)

from primefac import *
def c(n):
x=factorint(n)
a=''
for i in range(0,len(x)):
l=min(x.keys())
a+=str(l)
if x[l]>1:
a+=str(x[l])
x.pop(l)
return int(a)