C++
$\color{#cc33ff}{— > 算法基础课题解}$
法一:
思路:
约数 欧几里得
$欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。$
$计算公式:gcd(a,b) = gcd(b,a\ mod\ b)$
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int gcd(int a, int b) {
return b ? gcd(b, a % b) : a;
}
int main() {
int n; cin >> n;
while (n --) {
int a, b; cin >> a >> b;
cout << gcd(a, b) << endl;
}
return 0;
}
法二:
$使用C++ 库函数即可$
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main() {
int n; cin >> n;
while (n --) {
int a, b; cin >> a >> b;
cout << __gcd(a, b) << endl;
}
return 0;
}
LaTeX 语法是非常严格的,$\bmod, \log$ 等函数应该是直立体。
那这个直立体怎么表示啊,大佬?(・ω< )★
$\bmod$ :
$\bmod$
$\log$ :
$\log$