| 哥们 这个问题很有意思, 
 n=n^m;                                        //  这一步的意思是:n^m  并把它的值赋给 n,用第一个n用来记录n^m  ,第二个n是初始值                 故:   n= n^M;        这一步很容易理解
 m=n^m;相当于m=(n^m)^m      //    这一步相当于m=(n^m)^m,没错,这时就出现了两个问题,第一个问题容易看到那就是,  一个数异或 另外一个数2次,结果不变还是那个数。所以m=n^m,  相当于 m=(n^m)^m 它产生的结果就是m=n,把n的赋给m。  这个问题也可以看到,但是这一步又产生了另外一个问题,那就是 (n^m)^m 的结果是n,关键就在这里这个n是初始值n,不是上一步第一个n^M后的n,而是上一步中第二个n,初始值的n   。n又回到原来了。
 不要被第一步n=n^m中第一个n所迷惑了
 
 n = n^m;     //第三步n^m,               n的值没变,但m的值是n^m,              所以 相当于n^(n^m)
 
 
 这是我的理解 ,希望对你有所帮助
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 |