在這個問題中,給你2個整數N,M。請你找出NPM(在N個東西種找出M個東西排列不同的方式)最後一個不為0的數字。例如:10P3=10*9*8=720,所以答案為2。
Input
每筆測試資料一列。每列有2個整數 N(0 <= N <= 20000000),M(0 <= M <= N)。
Output
對每一列輸入,請輸出NPM最後一個不為0的數字。
Sample Input
10 10
10 5
25 6
Sample Output
8
4
2
#include <iostream> using namespace std; long long P(long long n, long long m) { long long ans=1; for (long long i = n - m + 1; i<=n; i++){ ans *= i; } return ans; } long long calc(long long p) { if (p % 10 == 0) return calc(p / 10); else return p % 10; } int main() { long long n, m, p; while(cin >> n >> m){ if (n < m) continue; p = P(n, m); //cout << p << endl; cout << calc(p) << endl; } }