#include<bits/stdc++.h>
using namespace std;
const int maxn = 5007*5007;
vector<int> ile(maxn);
int main(){
int n; cin >> n;
for(int i = 1; i <= n; i++){
//kwadraty[i*i] = true;
for(int j = i; j <= n; j++){
if(i*i + j*j <= n*n) ile[i*i + j*j]++;
}
}
//for(int i = 1; i <= 10; i++) cout << ile[i] << " ";
long long res = 0;
// for(int i = 1; i <= n*n; i++) ile[i] += ile[i-1];
for(int h = 1; h <= n; h++){
for(int sq = 1; sq <= n; sq++){
if(sq*sq - h*h > 0) res += ile[sq*sq - h*h];
}
}
cout << res;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include<bits/stdc++.h> using namespace std; const int maxn = 5007*5007; vector<int> ile(maxn); int main(){ int n; cin >> n; for(int i = 1; i <= n; i++){ //kwadraty[i*i] = true; for(int j = i; j <= n; j++){ if(i*i + j*j <= n*n) ile[i*i + j*j]++; } } //for(int i = 1; i <= 10; i++) cout << ile[i] << " "; long long res = 0; // for(int i = 1; i <= n*n; i++) ile[i] += ile[i-1]; for(int h = 1; h <= n; h++){ for(int sq = 1; sq <= n; sq++){ if(sq*sq - h*h > 0) res += ile[sq*sq - h*h]; } } cout << res; } |
English