生成固定的位數的01字串有好的演算法嗎?

時間 2021-05-29 23:00:28

1樓:陳奕霖

按題主的例子生成 20 位的:n=

$((20

))&& head -c $((

(n+7)/

8)) /dev/urandom | xxd -b | cut -d ' ' -f 2-7 | tr -d ' \n'

| head -c $n

其中的 20 可以可以任意改。

2樓:

寫一下我的思路…

char *str = new char[21];

str[20] = '\0';

//20*8=32*5

//'0' = 0x30

for i in 0->4

((__int32*)str)[i] = (rand32() & 0x01010101) | 0x30303030

//do something

delete str;

其它情況同理…

3樓:馮一航

# 20 次隨機

way0=''

.join

(str

(randint(0

,1))for_in

range(20

))# 先隨機個數,再洗牌

string=(

'1'*

randint(0

,20)).

zfill(20

)lst

=list

(string

)# string 不能洗牌

shuffle

(lst

)way1=''

.join

(lst

)# 一次隨機個數和位置,即隨機十進位制[0,2**20-1],再轉成二進位制字串

way2

=bin

(randint(0

,2**20-1

)).replace

('0b',''

).zfill(20

)# 高位補零

# 都寫Python了,就不關心複雜度了(主要是我也不知道。。。)

ps cc2018字元屬性面板的行距數值錯亂,無法正常輸入以及調整行距,請問大神們怎麼解決?

雲覽 如果沒遇到這個問題,都不知道題主問的啥。我也有幸碰到過,也折騰過很久,機器沒崩潰,人差點崩潰,還是無解,應該與破解有關。我是把文字複製到記事本或寫字板,然後再複製回PS,問題解決。但這只是治表,隱患還在。 絕版聊神 這是破解版的關係,換個破解版 不然老是出現,很煩,無限大的距離,根本輸入不了文...

C 17 怎樣優雅的進行gbk utf 8字元編碼互轉?

cqwrteur 用我的fast io庫 C 流淘汰了,OOP淘汰了。fmt,charconv,C 23網路一類的都是淘汰貨。現在流行fast io和C with Concepts 記住。C 所有與流和locale相關的都是執行緒不安全的。locale有害。include include fast ...

如何通過固定的引數動態生成類?

Elvin Peng 通過使用 type 可以實現,下面是乙個簡單的例子 coding utf8 deffunc test cls words 第乙個引數為類本身,相當於類中方法的 selfprint words if name main 建立乙個名字為A的類,它有乙個 name 屬性,有乙個 ec...