public class BaseTest {
public static void main(String[] args) {
cifang();
}
public static void cifang(){
System.out.println(Math.pow(13, 13)%1000);
}
}
其实第二种方法和以上的这样一样,最终都是Math.pow(13, 13)%1000,如果你看不懂他说的那个方法的话,就是
for(i=1;i<=13;i++)
{
sum*=num;
if(sum>1000) sum%=1000;
}中的sum>1000你可能误解他的意思了,我想你可能当sum>1000时,就停止了for循环,如果你这样认为的话,那你就错了,刚开始的时候我也是这样认为的,其实在sum>1000时,还继续着for循环,直到13个13相乘完才结束for循环。
还有就是我认为,你说的那两个方法代码都不够优化,尤其是第一个方法,本来一个简单的问题,你把它复杂化了。
以上是我的个人见解,不足之处,还请见谅!!!
|