编程求一个整数任意次方后的最后三位数,即求x^y的最后三位数,x和y由键盘输入.
实现过程:可以用取余的方法求一个数任意次方的后三位。
程序代码如下
#include<stdio.h>
int main()
{
int i,x,y,z=1;
printf("请输入两个数,x和y(x^y): \n");/*输入底数和幂数*/
scanf("%d%d",&x,&y);
for(i=1;i<=y;i++)
z=z*x%1000; /*计算任意一个数任意次方的后三位数*/
if(z>=100)
{
printf("%d^%d的后三位数是: %d\n",x,y,z);/*输出最后结果*/
}
else
{
printf("%d^%d的后三位数是: 0%d\n",x,y,z);/*输出最后结果*/
}
return 0;
}
技术要点:本题的算法思想如下:题中要求求任意一个数的任意次方后三位数,咱们可以首先考虑计算结果是否越界,如何避免产生越界的问题的同时又不会出错,咱们就可以考虑使用求余算法
在求次方时每乘一次都取其后三位,这样就可以避免出现越界的问题。