#include<cstdio>
#define N 25000005
int tab1[N];
int tab2[N];
int main() {
int n;
scanf("%d", &n);
long long result = 0L;
for (int a = 1; a < n; a++) {
for (int b = a; b < n; b++) {
tab1[a * a + b * b]++;
}
}
for (int d = 1; d <= n; d++) {
for (int h = 1; h < d; h++) {
tab2[d * d - h * h]++;
}
}
for (int i = 0; i < N; i++) {
result += tab1[i] * tab2[i];
}
printf("%lld", result);
return 0;
}
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 | #include<cstdio> #define N 25000005 int tab1[N]; int tab2[N]; int main() { int n; scanf("%d", &n); long long result = 0L; for (int a = 1; a < n; a++) { for (int b = a; b < n; b++) { tab1[a * a + b * b]++; } } for (int d = 1; d <= n; d++) { for (int h = 1; h < d; h++) { tab2[d * d - h * h]++; } } for (int i = 0; i < N; i++) { result += tab1[i] * tab2[i]; } printf("%lld", result); return 0; } |
English