Требуется около минуты, чтобы набрать 3000 в моем компе, но мне нужно знать миллионное число в серии. Определение является рекурсивным, поэтому я не вижу никаких ярлыков, кроме как вычислить все до миллионного числа. Как быстро рассчитать миллионное число в серии?
Серия Def
n_{i+1} = \floor{ 3/2 * n_{i} }
и n_{0}=2
.
Интересно, что только один сайт перечисляет серию по версии Google: этот .
Слишком медленный код Bash
#!/bin/bash
function series
{
n=$( echo "3/2*$n" | bc -l | tr '\n' ' ' | sed -e 's@\\@@g' -e 's@ @@g' );
# bc gives \ at very large numbers, sed-tr for it
n=$( echo $n/1 | bc ) #DUMMY FLOOR func
}
n=2
nth=1
while [ true ]; #$nth -lt 500 ];
do
series $n # n gets new value in the function through global value
echo $nth $n
nth=$( echo $nth + 1 | bc ) #n++
done