3.21 贝壳后端笔试
关于第二题:找到范伟内的 多个数能够除以其各位数的和为1
看网上大家都是什么map存得,然后自己的一个小思路: 10 11他们的S(n)相差为1 , 11 12相差也为1,那就就可以利用这个特质找下去,下面代码没有测试过,只是展示思路,考试的时候是过了,细节有点忘记了
int solution(int l, int r) {
int left = l
int sn = getSn(l);
while(left<=r) {
if(left/sn==1) ret++;
if(left/10 > l/10) {
sn = getSn(left);
l = left;
}else {
sn+=1;
}
}
return ret;
}
查看1道真题和解析