读书人

求高手看看错哪了

发布时间: 2012-03-29 12:53:12 作者: rapoo

求高手看看哪里错了?
我用for循环了一个求阶乘的语句,但是运行不出结果,我断点试过后发现proz没有重新计算,求各位高手解释下:

Java code
public static void main(String[] args) {        // TODO Auto-generated method stub        int prox=1,proy=1,proz=1,i=1;        String str="";        for(int x=1;x<=9;x++){                prox*=x;            for (int y = 1; y <=9 ; y++) {                    proy*=y;                for (int z = 1; z <=9 ; z++)                {                    proz*=z;                //    z=i%10;                //    y=(i/10)%10;                //    x=(i/100);                    i=100*x+10*y+z;                    if (prox+proy+proz==i) {                        str=str+"x="+x+" y="+y+" z="+z+'\n';                    }                }            }        }System.out.println(str);


[解决办法]
楼主忘了每次循环之前把累计值复位了:
Java code
        for (int x = 1; x <= 9; x++) {            prox *= x;            proy = 1;            for (int y = 1; y <= 9; y++) {                proy *= y;                proz = 1;                for (int z = 1; z <= 9; z++) {                    proz *= z;                    i = 100 * x + 10 * y + z;                    if (prox + proy + proz == i) {                        str = str + "x=" + x + " y=" + y + " z=" + z + '\n';                    }                }            }        } 

读书人网 >Eclipse开发

热点推荐