题意:给一个n 要求找出三个数x,y,z 满足 n=x+y+z 同时x,y,z为n的因子
解法: 把 n=x+y+z同除n得到 1=1/a+1/b+1/c , 然后讨论下
a=1无解
a=2 ,则b=c=4
a=3,b=c=3;
a>=4就找不到解了。。。。
所以n为3,4的倍数的时候有解其他时候都没法。。。
代码很简单
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll t,n;
int main()
{ scanf("%lld",&t);
while(t--)
{ scanf("%lld",&n);
if (n%3==0)printf("%lld\n",n*n*n/27);
else if (n%4==0)printf("%lld\n",n*n*n/32);
else printf("-1\n");
}
return 0;
}