C语言求高次方的尾数

求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;
}

版权声明:本文为weixin_46507557原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。