Java中数字的所有二进制组合的列表
我正在开展一个涉及“动态编程”的项目,我对这个微不足道的事情感到震惊,请帮忙.
假设我将4作为输入,我想显示类似于:0000到1111的内容 但是,如果我输入5,我想显示如下:00000到22222,依此类推. 提前致谢, 编辑:请不要发布问我代码.这不是一个家庭作业问题,我不需要任何代码,只需告诉我它的逻辑,我会很高兴. EDIT2:WTH正在发生Stackoverflow,我问过你们有没有为我编写代码?我希望那个投票赞成它的人.如果我不能帮忙,这个论坛有什么意义? 与我分享逻辑.我们可以讨论,我不需要这个代码. 编辑3:我在这里发布我尝试过的代码.我希望这个“满意”所有想到我没有尝试过的人. import java.util.ArrayList; 公共类RegularInvestigator { public ArrayList createCombinations(ArrayList listOfFlightNumbers){ ArrayList<String> result = new ArrayList<String>(); for(int i = 1; i < listOfFlightNumbers.size(); i++) { String binaryEqvivalent = Integer.toBinaryString(i);System.out.println(binaryEqvivalent); String element = ""; for(int j = 0; j < binaryEqvivalent.length(); j++) if(binaryEqvivalent.charAt(j) == '1') element += listOfFlightNumbers + " "; result.add(element.substring(0,element.length() - 1)); } return result; } private String getContent(ArrayList<String> flight) { String temp = ""; for(int i = 0; i < flight.size() - 1; i++) temp += flight.get(i) + " "; temp += flight.get(flight.size() - 1); return temp; } private ArrayList removeElementAtIndex(ArrayList flight,int position){ ArrayList<String> res = new ArrayList<String>(); for(int i = 0; i < flight.size(); i++) { if(i != position) res.add(flight.get(i)); } return res; } 编辑4:谢谢phoxis,PengOne,Jerry Coffin和oliholz的宝贵答案:) 解决方法
>获取输入 >从i = 0到(2 ^ n) – 1计数 >对于i位掩码的每个值,每个位i和显示.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |