
import java.util.Calendar;
public class TestOne {
/*
* A B C 3个3位数
* B=2*A
* C=3*A
* */
static int[] a= {1,2,3,4,5,6,7,8,9};
public static void main(String[] args) {
//用全排列
f(0);
}
//全排列。k:当前需确定元素的下标
private static void f(int k) {
if(k==9) {//所有元素确认完毕
int A = a[0]*100+a[1]*10+a[2];
int B = a[3]*100+a[4]*10+a[5];
int C = a[6]*100+a[7]*10+a[8];
if(B==2*A && C==3*A) {
System.out.println(A);
}
}
for(int i=k;i<9;i++) {
int t = a[k];
a[k] = a[i];
a[i] = t;
f(k+1);
t = a[k];
a[k] = a[i];
a[i] = t;
}
}
}

答案:192 219 273 327
该博客介绍了一个Java程序,通过全排列算法寻找满足特定数学关系的3位数组合。程序寻找三个3位数(A、B、C),其中B等于2倍的A,C等于3倍的A。经过全排列计算,找到了一组解为192, 219, 332。这个例子展示了编程在解决数学问题中的应用。
185

被折叠的 条评论
为什么被折叠?



