【java】【简单数学问题】如何实现1至6,实现一个不重复的4位数

四种方法生成不同数字组合
本文介绍了使用四种不同的编程方法来生成由1到6组成的不重复数字组合。第一种方法通过多重循环暴力枚举所有可能的四数字组合,并检查它们是否互不相同。第二种方法通过迭代1234至6543之间的整数并验证每个数字是否唯一且都在1到6的范围内。第三种方法待补充。

方法一(简单粗暴的)
 方法2
int count = 0;
int n = 6;
for (int a = 1; a <= n; a++) {
for (int b = 1; b <= n; b++) {
for (int c = 1; c <= n; c++) {
for (int d = 1; d <= n; d++) {
if (a != b && a != c && a != d && b != c && b != d
 && c != d) {
System.out.println(a+" "+b+" "+c+" "+d);
count++;
 }
 }
 }
 }
 }
方法二
int count = 0;
for (int i = 1234; i <= 6543; i++) { // 四位数每位数1~6
int qw = i / 1000;
int bw = i % 1000 / 100; // bw=i/100%10
int sw = i % 100 / 10; // sw=i/10%10
int gw = i % 10;
if (qw != bw && qw != sw && qw != gw && bw != sw && bw != gw
&& sw != gw) {
count++;//注意count在此是错误的,会使该数据的1237-1240计数,导致1236为count==3;1243的count==8;1241,1242则会因为之前的if位数重复判断跳出不计数
if (gw == 7 || gw == 8 || gw == 9 || gw == 0) {
continue;
}
if (sw == 7 || sw == 8 || sw == 9 || sw == 0) {
continue;
}
if (bw == 7 || bw == 8 || bw == 9 || bw == 0) {
continue;
}
if (qw == 7 || qw == 8 || qw == 9 || qw == 0) {
continue;
}
count++;
System.out.println(i);
System.out.println(count + "aa");


}
}
方法三(数组。。。待补)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值