有一个表达式:a+(b*32)+(c*4*32)+(d*16*4*32)=100000;
现在要分别求出a,b,c,d的值,怎么解?

解决方案 »

  1.   

    a,b,c,d都是整数吧?
    做个几重循环判断一下。。
      

  2.   

    ((16*d+c)*4+b)*32+a = 100000
    a = 100000 mod 32 
    ((16*d+c)*4+b)  = 100000 / 32
    依次
      

  3.   

    a+(b*32)+(c*4*32)+(d*16*4*32)=100000;0 < a < 100000 - 32 - 4 * 32 - 16 * 4 * 32;0 < b < 100000 / 32 - 1 - 4 * 32 - 16 * 4 * 32;0 < c < 100000 / 32 / 4 - 1 - 32 - 16 * 4 * 32;0 < d < 100000 / 16 / 4 / 32 - 1 - 32 - 4 * 32;