0174 空心平铺二
* * * *
拉格朗日计划
* * * *
空心平铺二

考虑将正方形正中间挖去一个小正方形(两者的中心相同,四边相互平行)所得的图形,让我们称其为一方形环片。

用恰好8块单位边长的方块板只能拼出一种方形环片:一个$3\times 3$的方格,正中间有一个$1\times 1$的洞。

用恰好32块单位边长的方块板,则可以拼成两种不同的方形环片:



记$L(t)$为用恰好$t$块单位边长的方块板所能拼出的不同方形环片的数量,例如$L(8)=1$、$L(32)=2$,并记 $$N(n)=|\{t\le 1000000: L(t)=n\}|,$$ 例如可以验证,$N(15)=832$。求$\sum_{n=1}^{10}N(n)$。

本题难度:



解答

第173题的分析方法相同,只需以$4d^2+4ad$为键值保存其出现的次数,并统计次数不超过10的键值总数即可,结果是$209566$。

z={}
for d in range(1,500):
    for a in range(1,250000/d-d+1):
        x=4*d*d+4*a*d
        z[x]=z.get(x,0)+1

print len([x for x in z if z[x]<=10])