2018/4/11
// 打表程序
// 由于数据太大,只能打出4个,但也能发现规律
// t = 4 14 52 194
#include <iostream>
#include <cmath>
using namespace std;
int main(){
for(int i = 4; i < 100000; i++){
double p = 1.5 * i;
int sum = p * (p - i + 1) * (p - i) * (p - i - 1);
if(sum <= 0)
continue;
// cout << "i : " << i << " sum : "
for(int j = 1; j <= sqrt(sum) + 1; j++){
if(j*j == sum){
cout << i << endl;
break;
}
}
}
return 0;
}
/*
找规律题。
规律:a[n] = 4*a[n-1] - a[n-2]
数据太大,用java
*/
import java.math.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int t = cin.nextInt();
BigInteger t1 = BigInteger.valueOf(4);
BigInteger t2 = BigInteger.valueOf(14);
BigInteger tn;
List<BigInteger> li = new ArrayList<>();
li.add(t1);
li.add(t2);
while(t2.compareTo(BigInteger.TEN.pow(30)) <= 0) {
BigInteger four = BigInteger.valueOf(4);
tn = t2;
t2 = four.multiply(t2).subtract(t1);
li.add(t2);
t1 = tn;
}
while(t > 0) {
t--;
BigInteger n = cin.nextBigInteger();
for(BigInteger i: li) {
if(n.compareTo(i) <= 0) {
System.out.println(i);
break;
}
}
}
}
}