由数字1,2,3,4,5,6共可组成______个没有重复数字的四位奇数

马七甲 2015-12-12 04:03:33
RT ,直接计算可以得出是3×5×4×3=180(个);
可是如何设计一段JAVA代码实现呢?
...全文
189 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZK_小姜 2015-12-14
  • 打赏
  • 举报
回复
我写了一个,希望对楼主有所帮助:
public class Test{

	/**
	 * 验证是否有重复数字
	 * @param list
	 * @return 重复->true;不重复->false
	 */
	public static boolean volidateRepeat(List<Integer> list){
		for (int i = 0; i < list.size(); i++) {
			for (int j = 0; j < list.size(); j++) {
				if (i != j && list.get(i).equals(list.get(j))) {
					return true;
				}
			}
		}
		return false;
	}
	/**
	 * 得到能组成4位无重复数字的奇数的个数
	 * @return
	 */
	public static int getCount(){
		int count = 0;
		for (int i = 1; i < 7; i++) {
			for (int j = 1; j < 7; j++) {
				for (int j2 = 1; j2 < 7; j2++) {
					for (int k = 1; k < 7; k++) {
						List<Integer> list = new ArrayList<>();
						list.add(i);
						list.add(j);
						list.add(j2);
						list.add(k);
						if (!volidateRepeat(list) && k%2 == 1) {
							count++;
						}
					}
				}
			}
			
		}
		return count;
	}
	/**
	 * 主函数
	 * @param args
	 */
	public static void main(String[] args) {
		
		System.out.println(getCount());
		
	}
}
姜小白- 2015-12-13
  • 打赏
  • 举报
回复
可以啊,第四点 4.输出从数组a中取n个数的所有排列 如a={1,2,3} n=2输出12,21,13,31,23,32

int[] a = {1,2,3,4,5,6};  
int n = 4;  
robot.runPermutation(a,n);  
得出360个数字,其中奇数,偶数各一半,就是180了。 主要借鉴里面的思想。
马七甲 2015-12-12
  • 打赏
  • 举报
回复
引用 2 楼 magi1201 的回复:
秒杀排列组合(上)————排列篇
这个好像满足不了我这个需求啊。。
马七甲 2015-12-12
  • 打赏
  • 举报
回复
周末无聊,发现了这个问题

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧