1.exp()函数,exp(n)表示e的n次方
2.1e9大概是2的30次方
3.__gcd(a,b)函数求取a,b的最大公约数
4.lcm(最小公倍数)lcm(a,b) = a * b / __gcd(a,b)
5.求解多个数的最小公倍数
include [HTML_REMOVED]
include [HTML_REMOVED]
include [HTML_REMOVED] // 为了使用std::gcd
using namespace std;
// 辅助函数:计算两个数的最大公约数(GCD)
// 这里使用C++17的std::gcd,如果编译器不支持,可以自定义实现
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
// 求解多个数的最小公倍数(LCM)
int lcmOfNumbers(const vector[HTML_REMOVED]& nums) {
int lcm = 1; // 初始化LCM为1
for (int num : nums) {
// 对于每一个数,更新LCM为当前LCM与该数的LCM
lcm = (lcm * num) / gcd(lcm, num);
}
return lcm;
}
int main() {
// 测试数据
vector[HTML_REMOVED] numbers = { 2, 3, 5, 7 };
// 调用函数求解最小公倍数
int lcm = lcmOfNumbers(numbers);
// 输出结果
cout << "多个数的最小公倍数为: " << lcm << endl;
return 0;
}