算法练习题:编程求一个整数在 任意次方后的最后三位数。
#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);
}
代码分析: 这里 面使用了算术运算符 取余【%】与 取商【/】的技巧 :一个数 分别 使用 取余和取商 是将 该数 分割处理 至于分割点的选取 看被除数 的位数 。拿 20736 来说 被 1000 取余 的结果是:736 取商 的结果是 20