51Nod - 1004 n^n的末位數字
阿新 • • 發佈:2017-05-07
pri out .com 快速叠代 位數 div sin int scanf
51Nod - 1004 n^n的末位數字
給出一個整數N,輸出N^N(N的N次方)的十進制表示的末位數字。 Input一個數N(1 <= N <= 10^9)Output
輸出N^N的末位數字Input示例
13Output示例
3
題解:
末尾數字,所以在快速叠代冪的時候,只需要考慮末尾數字即可。
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; int main(){ int n, cnt, ans; while(scanf("%d", &n) != EOF){ cnt = n; ans = 1; n = n % 10; while(cnt){ if(cnt%2 == 1){ ans = (ans * n) % 10; } n = n * n % 10; cnt = cnt / 2; } printf("%d\n", ans%10 ); } return 0; }
51Nod - 1004 n^n的末位數字