#!/usr/bin/env lua
local function calc3xp1(n)
if n % 2 == 0 then
return n / 2
else
return 3 * n + 1
end
end
local function countlen(n)
local i = 0
local l = n
while true do
l = calc3xp1(l)
i = i + 1
if l == 1 then
break
end
end
return i
end
local function findmax(n)
local max = 1
local maxn = 1
for i=1, n do
local nl = countlen(i)
if nl > max then
max = nl
maxn = i
end
end
return maxn
end
print(findmax(1000000))
|