n = 1のとき、f(n) = 1 n = 2のとき、f(n) = 11 n = 3のとき、f(n) = 111 n = kのとき、f(n) = 11...11 (k桁の1のゾロ目)
となるf(n)
の実装を考える
数式で表すと
ぱっと思いついた再帰を使うパターン
def fn(n, acc=0): return acc if(n == 0) else fn(n-1, acc*10+1)
部分和 の総和だから、
再帰を使わないパターン
sum(10**k for k in range(n))
任意の値x
をかければ、x
の任意の桁数のゾロ目が生成できる