組合:abc三個字符的所有組合


求所有組合也就是abc各個位是否選取的問題,第一位2中可能,第二位2種。。。所以一共有2^n種。用0表示不取,1表示選取,這樣可以用110這樣的形式表示ab。abc一共的表示形式從0到2^3-1。然后按位與運算,如果結果為1就輸出當前位,結果0不輸出。
 

public class Comb {

public static void main(String[] args) {
char[] chs = {'a','b','c'};
comb(chs);
}
 
public static void comb(char[] chs) {
int len = chs.length;
int nbits = 1 << len;
for (int i = 0; i < nbits; ++i) {
int t;
for (int j = 0; j < len; j++) {
t = 1 << j;
if ((t & i) != 0) { // 與運算,同為1時才會是1
System.out.print(chs[j]);
}
}
System.out.println();
}
}
}
來源: https://blog.csdn.net/Tredemere/article/details/52815965

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM