算法:5个数 2 4 8 16 32随机选n个数相加的总和 ,怎么把这个和分解成所选的这几个数

算法:5个数 2 4 8 16 32随机选n个数相加的总和 ,怎么把这个和分解成所选的这几个数
例如(我选 4,8,32 这三个数的总和是44 现在只知道44和2 4 8 16 32 怎么算出所选的是 4 8 32) 我记得用取模的方法,但是记不住了,
alex340 1年前 已收到1个回答 举报

毛毛小 幼苗

共回答了21个问题采纳率:100% 举报

这些数字都是2的幂.在2进制的表示里面,就相当于10,100这种数字.
所以只需要把和的二进制数字里面那些位是1找出来就行.
44 = 101100,显然是三个数字合成的,100是4,1000是8,100000是32.
或者换个方法,用你说的取余数是一样的.
从大到小:
44 / 32 = 1 ..12 ,商是1就是有这个数字
12 / 16 = 0 ..12 ,商是0,没有
12 / 8 = 1 ..4
4 / 4 = 1..0

1年前

7
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.011 s. - webmaster@yulucn.com