唉 ,长记性了。。。。。。。。。
万万没想到,>>1 比 //2 快多了,比赛的时候,一直超时。。。
原来Zoj python 即支持python2 也支持python3
规律是 3个0,5个1,7个0,9个1,以此类推 (2×n+1)....
即二分 + 等差数列求和公式
代码如下:
def lk(n): l=1 r=n while l < r : mi=(l+r)>> 1 F=mi*mi+2*mi if(F<n): l=mi+1 else: r=mi return r t=int(input()) for i in range(t): p=int(input()) if p==0: print(0) else: r=lk(p) print(int(r&1))