fork(4) download
  1. f=lambda n,k=1,m=1:n*(k>n)or f(n-(n%k<m%k)*n/k,k+1,m*k*k)
  2.  
  3. for n in 1, 2, 3, 8, 9, 26, 44, 105:
  4. print '%3d => %2d' % (n,f(n))
Success #stdin #stdout 0.01s 9016KB
stdin
Standard input is empty
stdout
  1 =>  1
  2 =>  1
  3 =>  2
  8 =>  4
  9 =>  6
 26 => 12
 44 => 20
105 => 48