input
3
3
6
9
output
0
1
1
solution
c 2 = a 2 + b 2 ( i ) c^2=a^2+b^2~(i) c2=a2+b2 (i)
c = a 2 − b ( i i ) c=a^2-b~(ii) c=a2−b (ii)
= > c 2 − b = b 2 + b =>c^2-b=b^2+b =>c2−b=b2+b
= > c = b + 1 =>c=b+1 =>c=b+1
= > b = a 2 − 1 2 , c = a 2 + 1 2 =>b=\frac{a^2-1}{2},c=\frac{a^2+1}{2} =>b=2a2−1,c=2a2+1
统 计 1 统计1 统计1 ~ n 中 满 足 ( i ) , ( i i ) 的 值 , 通 过 c = a 2 + 1 2 来 作 为 上 限 值 n中满足(i),(ii)的值,通过c=\frac{a^2+1}{2}来作为上限值 n中满足(i),(ii)的值,通过c=2a2+1来作为上限值
code
//Siberian Squirrel
//#include<bits/stdc++.h>
#include<unordered_map>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cmath>
#define ACM_LOCAL
using namespace std;
typedef long long ll;
const double PI = acos(-1);
const double eps = 1e-7;
const int MOD = 3221225473;
const int N = 5e6 + 10;
const int UP = 1e4;
inline ll solve(int n, ll res = 0) {
for (int i = 3; (1ll * i * i + 1) / 2 <= n; i += 2) {
res ++;
}
return res;
}
int main() {
#ifdef ACM_LOCAL
freopen("input", "r", stdin);
freopen("output", "w", stdout);
#endif
int o = 1, n, m, x, y;
scanf("%d", &o);
while(o --) {
scanf("%d", &n);
printf("%lld\n", solve(n));
}
return 0;
}