论坛上看到个题目:
问:
公式是
[ ] [ ] [ ] [ ] * [ ] = [ ] [ ] [ ] [ ]
这九个空,分别填入1~9 9个数字,要求不能重复.
简单的说就是一个前面是四位数,后面是四位数,用到1~9要求等式成立.
用java怎么实现?
答:
答案是:
1738×4=6952
1963×4=7852
import java.util.Arrays;
public class c{
public static void main(String args[]){
int temp;
String[] s;
String[] result = {"","1","2","3","4","5","6","7","8","9"};
for(int i=1234;i<6789;i++){
for(int j=1;j<9;j++){
temp = i*j;
if(temp>10000)
continue;
s = (""+i+j+temp).split("");
Arrays.sort(s);
if(Arrays.equals(s,result))
System.out.println(i+"X"+j+"="+temp);
}
}
}
}
------------------------------
我自己的虽然也得出了答案,但是居然用了9重循环。和这个答案比起来,自己的编程水平还有待提高!