無限級数の有限項の和をHorner法で解く意味はないと思いますが、以下で計算はできます。
python
1def Horner(ORD, i=1):
2 if ORD < i:
3 return 1
4 else:
5 return 1 + Horner(ORD, i+1) / i
実行結果は以下です。
python
1>>> for i in range(18):
2... print(f'Horner({i}) = {Horner(i)}')
3...
4Horner(0) = 1
5Horner(1) = 2.0
6Horner(2) = 2.5
7Horner(3) = 2.6666666666666665
8Horner(4) = 2.7083333333333335
9Horner(5) = 2.716666666666667
10Horner(6) = 2.7180555555555554
11Horner(7) = 2.7182539682539684
12Horner(8) = 2.7182787698412696
13Horner(9) = 2.7182815255731922
14Horner(10) = 2.7182818011463845
15Horner(11) = 2.718281826198493
16Horner(12) = 2.7182818282861687
17Horner(13) = 2.718281828446759
18Horner(14) = 2.7182818284582297
19Horner(15) = 2.7182818284589945
20Horner(16) = 2.7182818284590424
21Horner(17) = 2.718281828459045