链接:https://nanti.jisuanke.com/t/27292
思路:
由于所有的箱子可以看成哟一个大的立方体,所有前后左右上这五个朝向各去掉一层以后,仍为立方体,那么你现在知道的是剩下多少的箱子,换句话说,已知条件是,被在五个朝向各去掉一层后的立方体的体积,那么要求原来立方体最大最小的体积分别是多少应该怎么操作呢,我的思路是,挨个枚举出来就好了,把原来的体积 V 拆成 i * j * k,即立方体长宽高,那么就要考虑除底面外,各个面摘除1层的手段了,上面去掉一层,那新的高就是原来的高减一,前后左右各去掉一层之后,新的长和宽都变为原来的值减2了,所以就看枚举出来的长 i, 宽 j , 高 k , 取多少能让体积最大或最小就好了。
本人AC代码:
#include
#include
#include
#include
#include
#include
}
链接:https://nanti.jisuanke.com/t/27289
思路:
这题,大暴力就OK,n方枚举一下满足条件的即可,对每次枚举出来的两个数,进行模十除十操作就行,如果是3位数那就取三次模10的值相乘,两位数就取前两次,一位数就取第一次即可,然后再取gcd看满足题意与否。给的区间是1 ~ 1000,1000能取到,为什么只最高只需要看三位数就行呢,因为题意要求取gcd的两个数均不能为0,f(1000) = 1*0*0*0 = 0,显然不满足题意,故不必考虑。
本人AC代码:
#include
#include
#include
#include
#include
#include