求最大公约数(欧几里得算法):
int gcd(int a, int b)
{
return b ? gcd(b, a % b) : a;
}
bool isPrime(int n)
{
if (n < 2)return false;
for (int i = 2; i * i <= n; i++)
if (n % i == 0)
return false;
return true;
}
bool isPalindrome(int n)
{
int a[20];
int num = 0;
while (n) {
a[num++] = n % 10;
n /= 10;
}
for (int i = 0; 2 * i <= num; i++)
if (a[i] != a[num - 1 - i])return false;
return true;
}
long long Combination(int n, int m)
{
m = min(m, n - m);
int num = 1;
for (int i = n, j = 1; j <= m; i--, j++)
num = num * i / j;
return num;
}