[HDU6298]Maximum Multiple【打表找规律】
6298 Maximum Multiple
看上去十分难,但是你会发现很容易出现-1,所以不妨打表找规律,表一打出来就完事了,发现只有在n%4==0||n%3==0的情况下才有解,最大解是多少呢?
对于n%4==0的情况:
对于n%3==0的情况:
所以说要勤打表,打表出省一。
#include<bits/stdc++.h>
using namespace std;
int T;
long long n;
int main(){
scanf("%d",&T);
while (T--){
scanf("%lld",&n);
if (!(n%3)){
long long tmp=n/3;
printf("%lld\n",tmp*tmp*tmp);
}else if (!(n%4)){
long long tmp=n/4;
printf("%lld\n",tmp*tmp*2*tmp);
}else printf("-1\n");
}
return 0;
}