用 c ++语言解决如下问题:对于一个整数 n,若存在两个自然数 x, y,满足 n = x^2 - y^2,则称 n 是 Couple number。 给出 a,b,请求出 [a, b]范围内有多少个 Couple number。 输入格式 输入只有一行两个整数,分别表示 a, b。 输出格式 输出一行一个整数表示答案。 样例 输入数据 1 10 输出数据 7 数据规模与约定 对于全部的测试点,保证 -10^7 ≤a<b≤10^7 ,b - a≤10^7 。
时间: 2024-03-23 18:42:30 浏览: 161
C++ 两数求和,很简单的,初学者看看
下面是用C++语言解决该问题的代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int a, b, cnt = 0;
cin >> a >> b;
for (int n = a; n <= b; n++) {
for (int x = 1; x * x <= n; x++) {
int y = sqrt(x * x - n);
if (x * x - y * y == n) {
cnt++;
break;
}
}
}
cout << cnt << endl;
return 0;
}
```
该程序首先读入a和b,然后用两个for循环枚举x和n,计算y的值,判断是否满足条件,如果满足则cnt加1。最后输出cnt的值即可。
阅读全文