我比较菜orz后来才知道这种本质是数论的题都可以打表找规律做,以前包括这次都是自己写自己看。就很容易漏下…我最开始是发现了3 但是没注意到4的情况。
再一个就是,这几天也有经验了,这种题都是数论/规律,不要像以前一样傻乎乎就写了个暴力交上去了,肯定T。
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
int main()
{
int T = 0;
scanf("%d", &T);
while(T)
{
ll n = 0, ans = -1, tt;
scanf("%lld", &n);
if(n%3 == 0)
{
tt = n/3;
ans = tt*tt*tt;
printf("%lld\n", ans);
}
else if(n%4 == 0)
{
tt = n/4;
ans = tt*tt*tt*2;
printf("%lld\n", ans);
}
else
printf("-1\n");
T--;
}
return 0;
}