我寫了一段 C 程式碼,自己用 gcc-4.7.0 編譯通過了,執行也沒問題。
結果送到這裡,選 C 語言送出,結果三個測資點都陣亡:「執行時期未定義錯誤,code = 5 」
一樣的程式碼,改選 C++ 就 AC 了。程式碼如下:
#include <stdio.h>
int powmod(int a, int b) {
int bin=1, i, res=1, tmp=a%10007;
for(i=0; i<32; i++) {
if(b & bin)
res = res * tmp % 10007;
bin <<= 1;
tmp = tmp * tmp % 10007;
}
return res;
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", powmod(a, b));
}
在自家機器的執行結果如下,其中 2 和 31 是程式執行後我再輸入的: