为节省彼此时间,请先做下这道题,告诉我答案,再确定是否安排面试。
花1块钱能买到3个桃,把桃肉吃掉,剩下核,每凑到3个核,可以再找卖桃的换到1个桃,现在请问,花50元最多能吃到多少个桃?花5000000000000元呢?花1234567897531元呢?(注:卖桃的不接受赊账),请不要用编程计算。
class h {
taozi=0
constructor(money) {
this.taozi = money * 3;
}
getHowMany() {
return this.tao(this.taozi);
}
tao(num, yk = 0) {
//yk 是上次吃完不够换的壳子,留着下次一起加上换
let z = 0;
let all = num + yk;
//这回的吃过的果壳+上回余下的果壳大于3时
if (all >= 3) {
//加上上次没换的壳子一起换果子
z = Math.floor(all / 3);
let m = all % 3;
return num + this.tao(z, m);
} else {
return num;
}
}
}