思路是想到了一些 不过愣是没敢写。。。。。。。。。。。
/*
题意:给定一个整数n(2 <= n <= 109),满足a+b=n并且[a,b]的最小公倍数最大。
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<map>
#include<math.h>
using namespace std;
typedef long long int64;
//typedef __int64 int64;
const int maxn = 105;
const int inf = 0x7fffffff;
const double pi=acos(-1.0);
const double eps = 1e-8;
int main(){
int T;
scanf("%d",&T);
while( T-- ){
int64 n;
scanf("%I64d",&n);
if( n==2 ){
printf("1\n");
continue;
}
int64 L,R,mid;
if( n%2==0 ){
mid = n/2;
if( mid%2==0 ){
L = mid-1;
R = mid+1;
}
else{
L = mid-2;
R = mid+2;
}
}
else {
mid = (n+1)/2;
L = mid-1;
R = mid;
}
printf("%I64d\n",L*R);
}
return 0;
}