问题描述::a b c d e 是1到9的五个数字,并且五个数字各不相同,请编程实现使abc*da=bcde成立的所有数字组合(abc是一个三位数,da是一个两位数,bcde是一个四位数)哪位高手帮帮忙,对这个题很迷茫那,不知道怎么去思考这样的编程题,能解决的尽量说说思路,谢谢了~~~~

解决方案 »

  1.   

    这个以前的帖里有
    java的 你得改改 http://topic.csdn.net/u/20090521/22/f920ed18-8ae1-403a-938f-2d36e37613aa.html
    口算的你懂的呵呵http://z339248824.blog.163.com/blog/static/130184277200991411833741/
      

  2.   


    /*
     * abc是111-999,da是11-99,bcde的b是abc中的十位,c是abc的个位,d是da的十位,a是da的个位,而e是任意1-9的数
     */
    public class ShuChen {
    public static void main(String[] args) {
    for(int i = 111; i < 999; i++) {
    for(int j = 11; j < 99; j++) {
    if(i/10%10 != 0 && i%10 != 0 && j%10 != 0){
    if(i*j <= ((i/10%10)*1000+(i%10)*100+(j/10)*10+9) 
    && i*j >= ((i/10%10)*1000+(i%10)*100+(j/10)*10+1)) {
    System.out.print("\n" + i*j+ " ");
    System.out.println("a:" + i/100 + "  b:" + i/10%10 + "  c:" + i%10 
    + "  d:" + j/10 + "  e:" + (i*j)%10);
    }
    }
    }
    }
    }}
      

  3.   

    结果是:3325 a:1  b:3  c:3  d:2  e:55134 a:1  b:5  c:1  d:3  e:48145 a:1  b:8  c:1  d:4  e:59834 a:2  b:9  c:8  d:3  e:45712 a:3  b:5  c:7  d:1  e:27616 a:4  b:7  c:6  d:1  e:66816 a:5  b:6  c:8  d:1  e:67414 a:6  b:7  c:4  d:1  e:4不知道对不对,自己看看哈,应该没有错,呵呵
      

  4.   


    public class ShuChen {
    public static void main(String[] args) {
    int abc;
    int da;
    int bcde;
    int a,b,c,d,e;
    for(abc = 111; abc < 999; abc++) {
    a = abc/100;
    b = abc/10%10;
    c = abc%10;
    for(d = 1; d < 10; d++) {
    da = d*10+a;
    if(b != 0 && c != 0 && a != 0){
    bcde = abc*da;
    e = bcde%10;
    if(bcde >= (b*1000+c*100+d*10+1) && bcde <= (b*1000+c*100+d*10+9) && (a!=b && a!=c && a!=d && a!=e) 
    && (b!=c && b!=d && b!=e) && (c!=d && c!=e) && d!=e) {
    System.out.print("\nbcde:" + bcde+ " ");
    System.out.println("a:" + a + "  b:" + b + "  c:" + c 
    + "  d:" + d + "  e:" + e);
    }
    }
    }
    }
    }}