#include "bits/stdc++.h"
using namespace std;
#define int long long
const int N = 2e5+1;
const int mod = 998244353;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int _;_ = 1;//cin >> _;
while (_--) {
int n;
cin >> n;
int ans = 0;
vector<int> cnt(n*n+1);
for (int a = 1; a * a <= n * n; ++a)
for (int b = a; a * a + b * b <= n * n; ++b) {
int sum = a * a + b * b;
cnt[sum]++;
}
for (int d = 1; d <= n; ++d)
{
int d_sq = d * d;
for (int h = 1; h < d; ++h)
{
int required = d_sq - h * h;
if (required >= 1 && required <= n * n)
ans += cnt[required];
}
}
cout <<ans;
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include "bits/stdc++.h" using namespace std; #define int long long const int N = 2e5+1; const int mod = 998244353; signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int _;_ = 1;//cin >> _; while (_--) { int n; cin >> n; int ans = 0; vector<int> cnt(n*n+1); for (int a = 1; a * a <= n * n; ++a) for (int b = a; a * a + b * b <= n * n; ++b) { int sum = a * a + b * b; cnt[sum]++; } for (int d = 1; d <= n; ++d) { int d_sq = d * d; for (int h = 1; h < d; ++h) { int required = d_sq - h * h; if (required >= 1 && required <= n * n) ans += cnt[required]; } } cout <<ans; } } |
English