El primero lo pense como un producto N=(1*2*…*2005) entonces log10(N)=log10(1)+log10(2)+…+log10(2005). Asi esto cabe en una variable. Conociendo log10(N) (o ln[n] y lo divido por ln[10]) puedo saber que N esta entre 10^N y 10^N+1 y así conocer la cantidad de cifras, con los divisores hice algo parecido, fui anotando N factorizado en un arreglo fui guardando la cantidad q aparecia cada divisor primo y despues si le sumo 1 a cada uno y los multiplico tengo K.
Ese creo q está bien :)
dim b as double
dim f(2005)
'A)
b=log(1)
for a = 1 to 2005
b += log(a)
if a = 2005 then print "N:";int(b/log(10))+1
next
'B)
b=0
for a = 1 to 2005
n=a
i=2
do while n > 1
if n mod i = 0 then
f(i)+=1
n/=i
else
i=i+1
end if
loop
next a
for i=1 to 2005
b+=log(f(i)+1)
next
print "K:";int(b/log(10))+1
sleep
'RTA: a) 5753; b) 190