#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
int n; scanf("%d", &n);
vector <int> amount(n * n + 1, 0);
for(int a = 1; a <= n; ++a) for(int b = a; b <= n; ++b)
if(a * a + b * b <= n * n) ++amount[a * a + b * b];
ll ans = 0ll;
for(int d = 1; d <= n; ++d) for(int h = 1; h <= n; ++h) if(d * d - h * h > 0)
ans += (ll) amount[d * d - h * h];
printf("%lld\n", ans);
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { int n; scanf("%d", &n); vector <int> amount(n * n + 1, 0); for(int a = 1; a <= n; ++a) for(int b = a; b <= n; ++b) if(a * a + b * b <= n * n) ++amount[a * a + b * b]; ll ans = 0ll; for(int d = 1; d <= n; ++d) for(int h = 1; h <= n; ++h) if(d * d - h * h > 0) ans += (ll) amount[d * d - h * h]; printf("%lld\n", ans); return 0; } |
English