代码展示:
#include <bits/stdc++.h>
// 包含了几乎所有C++标准库头文件的万能头文件(不推荐在实际项目中使用,可能导致编译问题和命名冲突,但在竞赛等场景方便)
using namespace std;
// 使用标准命名空间,这样可以直接使用标准库中的函数和类型,无需加上std::前缀int main()
{int sum = 0; // 用于统计满足特定条件的数的个数,初始化为0int n, k; // 声明两个整数变量n和k,用于存储从输入获取的值cin >> n >> k; // 从标准输入流(通常是键盘)读取两个整数,分别赋值给n和kint x = n - k; // 计算n和k的差值,并将结果存储在变量x中for (int i = 1; i * i <= x; i++) // 循环,i从1开始,只要i的平方小于等于x就继续循环,这样可以高效地枚举x的因数(因为因数是成对出现,较小的因数不超过平方根){if (x % i == 0) // 如果x能被i整除,说明i是x的一个因数,同时x/i也是x的一个因数{if (i > k) sum++; // 如果因数i大于k,将满足条件的计数器sum加1if (x / i > k && x / i != i) sum++; // 如果x除以i的结果(另一个因数)大于k且不等于i(避免重复计数,当i和x/i相等时只计一次),将sum加1}}cout << sum << endl; // 输出满足条件的数的个数sum到标准输出流(通常是控制台)return 0; // 程序正常结束,返回值0表示程序成功执行
}