题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4627
题目大意:给定一个整数n(2 <= n <= 109),满足a+b=n并且[a,b]的最小公倍数最大。
分析:相当简单的的一道题,因为生病好久没做题目,杭电居然是要用__int64,用long long反而错误,为此,WA了无数遍
代码如下:
# include<iostream>
# include<cstdio>
# include<cmath>
using namespace std;
__int64 n;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%I64d",&n);
__int64 temp = n/;
if(n==)
printf("1\n");
else if(n%==)
printf("%I64d\n",temp*(temp+));
else
{
if(temp%){
printf("%I64d\n",(temp-)*(temp+));
}
else
printf("%I64d\n",(temp-)*(temp+));
}
}
return ;
}