|
一個二進制序列由下面的偽代碼生成:
string A = "0"
While (A的長度小于等于n)
創建一個和A一樣長度的字符串B
For i=0,1,...length(A)-1
If (i 是完全平方數)
B[i] = 1-A[i]
Else
B[i] = A[i]
令A = A + B (即將B拼接在A后面)
End While
Return A
請注意,在上面的偽代碼中,A[i]和B[i]分別表示字符串A和B中下標為i的字符(下標編號從0開始)。對“完全平方數”的定義是,對于整數i,存在整數j,使得i= j *j,則稱i為完全平方數。
下面具體說明序列生成的過程:如果n=7,則在每一輪迭代中,A的取值依次為:0, 01, 0110, 01101010,所以最終產生的二進制序列就是0,1,1,0,1,0,1,0
請返回上述序列中下標為n的數字(該序列的下標從0開始)(0=<n<=2,000,000,000)
|