酷代码 AI
菜单
服务商

用C++输出:给定一个整数 𝑛 ( 1 <= 𝑛 <= 10 10 ) ,求出 𝑛 的因子的个数。 样例输入 复制 8 样例输出 复制 4 提示 8 的因子有:,,, 1 , 2 , 4 , 8

以下是使用 C++ 编写的代码,用于计算给定整数 `n` 的因子个数: ```cpp #include <iostream> // 计算因子个数的函数 int countFactors(long long n) { int factorCount = 0; // 从 1 到 n 遍历所有可能的因子 for (long long i = 1; i <= n; i++) { if (n % i == 0) { // 如果 i 是 n 的因子,则因子个数加 1 factorCount++; } } return factorCount; } int main() { long long n; // 读取输入的整数 n std::cin >> n; // 调用函数计算因子个数 int result = countFactors(n); // 输出因子个数 std::cout << result << std::endl; return 0; } ``` 代码解释: 1. `countFactors` 函数: - 该函数接受一个长整型参数 `n`,用于表示要计算因子个数的整数。 - 初始化一个整型变量 `factorCount` 为 0,用于记录因子的个数。 - 使用 `for` 循环从 1 到 `n` 遍历所有可能的因子。 - 对于每个 `i`,检查 `n` 是否能被 `i` 整除(即 `n % i == 0`),如果能整除,则 `i` 是 `n` 的因子,将 `factorCount` 加 1。 - 最后返回 `factorCount`。 2. `main` 函数: - 定义一个长整型变量 `n`,用于存储用户输入的整数。 - 使用 `std::cin` 读取用户输入的整数。 - 调用 `countFactors` 函数计算 `n` 的因子个数,并将结果存储在 `result` 中。 - 使用 `std::cout` 输出因子个数。 复杂度分析: - 时间复杂度:$O(n)$,因为需要遍历从 1 到 `n` 的所有整数。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2025-12-13 21:40:49 | AI问答 | 515点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多