本帖最后由 ò壞尛孩 于 2014-4-12 16:06 编辑
public static void cifang2()
{
int num=13,i,sum=1;
for(i=1;i<=13;i++)
{
sum*=num;
if(sum>1000) sum%=1000;
}
System.out.println("13^13次方最后三位:"+sum);
}
这个方法很好理解,因为你要取后三位数,sum开始=1,每乘以13一次,模1000取后三位,再用后三位乘以13这样的13次循环,不仅减少了开销资源还节省了很多不必要的运算,这个方法很经典!
你的方法我看半天才看懂,你是一次性求13的13次方,然后用循环求结果有多少位数i!然后从最高位开始模运算,最后剩下三位是吧!我只想说你可以撞墙了啊(或者拿块板砖敲自己)!建议去看下大数运算!你都算出13的13次方的结果了,你还整那么多干嘛,直接模1000不就是结果了嘛!:funk:但是不建议这么做,13的13次方你知道要消耗多少资源啊!? |