求整数的任意次方最后三位数(精度问题)

题目:

求整数的任意次方最后三位数!347的72次方最后三位数是241.

#include<stdio.h>
int main() {
	int x, y, p, n;
	printf("说明:底数为x,幂为y,请输入:\n");
	printf("x=");
	scanf("%d", &x);
	printf("y=");
	scanf("%d", &y);
	p = 1;
	for(n = 1; n <= y; n++) {
		p=p*x%1000; //关键是掌握这句话的意思,最后三位永远只与其乘数的最后三位相关,故只保留最后三位,以免溢出!
		printf("%3d:  p=%3d \n", n, p);//若不需要输出过程,则不需要此行代码
	}
	printf("%d的%d次方的最后三位是:%3d\n", x, y, p);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/adusts/article/details/79820502
今日推荐