算法練習題:編程求一個整數在 任意次方後的最後三位數。
#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