cuốn sách gpt4 ai đã làm

algorithm - 查找给定二进制数字设置为 0 的第 N 个数

In lại Tác giả: Taklimakan 更新时间:2023-11-03 03:35:15 29 4
mua khóa gpt4 Nike

我正在寻找一种给定目标的算法,返回目标位为 0 的第 N 个数字。

例如,对于n={0,1,2,3}target=1的输入,输出将是(二进制)

000,001,100,101

câu trả lời hay nhất

只写值N-1 (如果枚举从1开始)二进制,然后插入一个0在所需位置 ( mục tiêu ).

Ví dụ:

 for N=3 and target=1 
N-1 = 10bin
inserting 0 in 1-th position gives
R = 100b = 4dec

使用位操作:

 NN = N- 1
Mask = (1 << target) - 1 //like 00000111 for target=3
NotMask = ~ Mask //like 11111000 for target=3
R = (NN & Mask) | ((NN & NotMask) << 1)

sự biểu lộ (NN & Mask)选择目标位右侧的位(将其他位归零)
sự biểu lộ (NN & NotMask) << 1选择左边的位,然后将它们移位以释放一个位置用于零目标位

关于algorithm - 查找给定二进制数字设置为 0 的第 N 个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50963263/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress