import numpy as np k,ln,old_ln,n,cnt_ln,cnt_n=1,0,1,0,0,0 ll=10 while ln <= ll: ak=2**np.sqrt(k) ln=int(np.log10(ak))+1 n=int(ak/(10**(ln-1))) if ln != old_ln: print("桁数が",old_ln,"のkの個数は", cnt_ln,"その内最高位の数が1の個数は",cnt_n) cnt_ln,cnt_n=0,0 old_ln = ln if n == 1: cnt_n += 1 cnt_ln += 1 k += 1