hdoj 2035人見人愛A^B 解題報告
阿新 • • 發佈:2019-02-08
Problem Description
求A^B的最後三位數表示的整數。
說明:A^B的含義是“A的B次方” Input 輸入資料包含多個測試例項,每個例項佔一行,由兩個正整數A和B組成(1<=A,B<=10000),如果A=0, B=0,則表示輸入資料的結束,不做處理。 Output 對於每個測試例項,請輸出A^B的最後三位表示的整數,每個輸出佔一行。 Sample Input 2 3 12 6 6789 10000 0 0 Sample Output 8 984 1
說明:A^B的含義是“A的B次方” Input 輸入資料包含多個測試例項,每個例項佔一行,由兩個正整數A和B組成(1<=A,B<=10000),如果A=0, B=0,則表示輸入資料的結束,不做處理。 Output 對於每個測試例項,請輸出A^B的最後三位表示的整數,每個輸出佔一行。 Sample Input 2 3 12 6 6789 10000 0 0 Sample Output 8 984 1
解題思路:
題目只要求輸出後三位,所以進行後三位的乘法就可以,除以1000取餘數可以做到,不需要大數。
冪用迴圈來算。
程式碼如下:
#include<stdio.h> #include<stdlib.h> int main() { int A,B,a,b; unsigned C; while(scanf("%d%d",&A,&B)!=EOF) { if(A==0&&B==0) break; C=A; for(a=0;a<B-1;a++) { C%=1000; C=C*A; } C%=1000; printf("%u\n",C); } }