尤拉計劃719:拆分數
定義自然數完全平方數n為Sn,如果它的算術平方根等於其十進位制數拆分為的各個數之和。
如:sqrt{81} = 8+1,sqrt{6724} = 6+72+4,sqrt{8281} = 8+2+81 = 82+8+1,sqrt{9801}=98+0+1
定義T(N)為n<= N的Sn之和。已知T(10^4) = 41333
求T(10^{12})
import time
def t(n,x):
if n==int(x):return 1
if n>int(x):return 0
for i in range(1,len(x)):
r= t(n-int(x[-i:]),x[:-i])
if r==1: return r
return 0
def T(n):
tm=time.time()
s=0
for i in range(9,n+1,9):
for j in [0,1]:
i+=j
z=t(i,str(i**2))*i**2
s+=z
print(time.time()-tm)
return s
n=10**6
print(T(n))
相關文章
- 尤拉計劃698:123數
- 尤拉計劃700:尤拉幣
- 尤拉計劃725:數位之和數
- 尤拉計劃699:三腳數
- 尤拉計劃706:三象數
- 尤拉計劃718:不可達數
- 尤拉計劃709:偶數袋
- 尤拉計劃712:指數差
- 尤拉計劃694:立方滿因數
- 尤拉計劃714:兩種數位的數
- 尤拉計劃622:洗牌
- 尤拉計劃696:麻將
- 尤拉計劃721:無理數高次冪
- 尤拉計劃705:除數序列的逆轉次數
- 尤拉計劃735:2n^2的因數
- 尤拉計劃686:2的冪
- 尤拉計劃715:六元組
- 尤拉計劃708:你只要2
- 尤拉計劃749:近似冪和
- 尤拉計劃739:和的和
- 尤拉計劃751:串聯重合
- 尤拉計劃745:平方和
- 尤拉計劃717:取模公式之和公式
- 尤拉計劃722:慢收斂系列
- 尤拉計劃695:隨機長方形隨機
- 尤拉計劃710:1百萬會員
- 尤拉計劃621:把整數表示為三角數之和
- 尤拉計劃704:二項式係數中的2因數
- 尤拉計劃723:畢達哥拉斯四邊形
- 尤拉計劃697:隨機衰減序列隨機
- 尤拉計劃713:圖蘭熱水系統
- 尤拉計劃711:二進位制黑板
- 尤拉計劃748:倒丟蕃多方程
- 尤拉計劃747:三角披薩
- 尤拉計劃657:不完整的單詞
- 尤拉計劃701:隨機連線區域隨機
- 尤拉計劃658:不完整的單詞(2)
- 尤拉篩線性篩質數