#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; } |