java有【1、2、3、4】4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java有【1、2、3、4】4个数字,能组成多少个互不相同且⽆重
复数字的三位数?都是多少?
public class LianXi_05 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 百位有可能是 1 2 3 4 ⼗位:有可能是 1 2 3 4 各位:有可能是 1 2 3 4,要求是百位⼗位各位上的数字不能重复
* 123 124 134 132 ...
*
* */
//定义变量⽤于记录合格的三位数的个数
int count = 0;
//通过第⼀层循环控制百位的数字 i的值表⽰百位的值
for (int i = 1; i <= 4; i++) {
//通过第⼆层循环控制⼗位的数字 j的值表⽰百位的值
for (int j = 1; j <= 4; j++) {
//通过第三层循环控制个位的数字 k的值表⽰百位的值
for(int k=1;k<=4;k++) {
if(i!=k && i!=j && j!=k) {
int data = i*100 + j*10 +k;
//System.out.println("data:"+data);
//每找到⼀个合格的整数,让count值⾃增
count++;
}
}
}
}
//System.out.println("满⾜条件的三位数的数量为:"+count);
//加⼤难度提供的数字[1 5 7 9]
//定义变量⽤于记录满⾜条件的三位数
int num = 0;
//定义数组
int[] arrays = new int[] {1,5,7,9};
//通过第⼀层循环控制百位的数字 i的值表⽰百位的值
for (int i = 0; i < arrays.length; i++) {
//通过第⼆层循环控制⼗位的数字 j的值表⽰百位的值
for (int j = 0; j < arrays.length; j++) {
//通过第三层循环控制个位的数字 k的值表⽰百位的值
for(int k=0;k< arrays.length;k++) {
if(arrays[i]!=arrays[k] && arrays[i]!=arrays[j] && arrays[j]!=arrays[k]) {
int data = arrays[i]*100 + arrays[j]*10 + arrays[k];
System.out.println("data:"+data);
//每找到⼀个合格的整数,让count值⾃增
num++;
}
}
}
}
System.out.println("满⾜条件的三位数的个数:"+num);
}
}