论坛上看到个题目:
问:
公式是
[ ] [ ] [ ] [ ] * [ ] = [ ] [ ] [ ] [ ]
这九个空,分别填入1~9 9个数字,要求不能重复.简单的说就是一个前面是四位数,后面是四位数,用到1~9要求等式成立.用java怎么实现?
答:
答案是:1738×4=69521963×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重循环。和这个答案比起来,自己的编程水平还有待提高!