SDNUOJ 1682.easy problem Ⅲ
生活随笔
收集整理的這篇文章主要介紹了
SDNUOJ 1682.easy problem Ⅲ
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
請計算對于給出的N,M,aN-bN與aM-bM的最大公約數。
題目保證a,b互質,且a>b
Input
多組輸入,每組四個整數 a, b, N,M(1 <= a <= 500, 1 <= b <= 500, 1 <= N <= 50, 1<= M <= 50)
Output
aN-bN與aM-bM的最大公約數,結果不超過263-1
Sample Input
3 2 2 3
Sample Output
1
水題,注意開long long。
代碼:
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <map> #include <sstream> #include <cctype> using namespace std;typedef long long ll; const ll mod = 1e9+7;ll gcd(ll a, ll b) {return b == 0 ? a : gcd(b, a%b); }ll qpow(ll a, ll b) {ll ans = 1;while(b){if(b & 1)ans = (ans * a);a = (a * a);b >>= 1;}return ans; }int main() {int a, b, n, m;while(cin >> a >> b >> n >> m)cout << qpow(a, gcd(n, m)) - qpow(b, gcd(n, m)) << '\n';return 0; }總結
以上是生活随笔為你收集整理的SDNUOJ 1682.easy problem Ⅲ的全部內容,希望文章能夠幫你解決所遇到的問題。