求13的13次方的的最后三位数
刚开始我想的是先存储值,后计算,但数据类型装不了那么大的数
所以利用循环,—>
任何三位及以上的数%1000都是取最后三位
研究乘法的规律会发现:乘积的最后三位的值只与乘数和被乘数的后三位有关,与乘数和被乘数的高位无关。
#include<stdio.h>
int main()
{
//分别代表数值,次方数,最终结果
int data,x,result;
scanf("%d,%d",&data,&x);
for(int i=1;i<=x;i++)
{
//次方的累乘
data *= i;
//取后三位
result = data % 1000;
}
printf("%d\n",result);
return 0;
}