#include <stdio.h>
void main()
{
int i,x,y;
int z = 1;
printf("请输入 两个数 X 和 Y ,求出 X^Y 的值:");
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 if (z<=100)
printf("%d^%d 的最后三位是:0%d\n",x,y,z);
else
printf("%d^%d 的最后三位是:00%d\n",x,y,z);
}
求出 X^Y 的值
这是啥意思?是x的y次方吗?还是x和y的异或?
z=z*x % 1000;就是迭代y次,当x的乘积超过1000时,只取后三位继续迭代。因为最后乘积的后三位只由后三位的乘积决定。