通常、次のコードを使用して、特定の n (タウ関数) までの除数の数を見つけます。
L=[0 for i in range(N+1)]
for i in range(1,N+1):
for j in range(i, N+1,i):
L[j]+=1
print L
どの出力
[0, 1, 2, 2, 3, 2, 4, 2, 4, 3, 4]
しかし、代わりに n^2 の約数を出力したい場合はどうすればよいでしょうか? 今は n=0,1,2,3,4,5,6,7,8,9,10 を見ていますが、実際には 0,1,4,9,16 を見ているように変更したいのですが、 25、36、49、64、81、100 (他の数字をいじる必要はありません)。
出力は次のようになります。
[0, 1, 3, 3, 5, 3, 9, 3, 7, 5, 9]