题目链接:Maximum Multiple
题意:将一个数n分解成三个数x,y,z,且x,y,z都能整除n,x*y*z最大
题解:打表找规律 ,会出来3的倍数和4的倍数的数输出结果不是-1以外,其他结果都为-1
AC代码:
//HDU 6298
#include <cstdio>
#define ll long long
int main()
{
ll ans;
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
if(n%3==0)
ans=1ll*n*n*n/27;//乘1ll是将结果转换成long long类型,否则会WA
else if(n%4==0)
ans=1ll*n*n*n/32;
else
ans=1ll*(-1);
printf("%lld\n",ans);
}
return 0;
}