import sys
whileTrue:try:n =int(input())if n ==0:breakelif n ==1:print(0)elif n <=3:print(1)else:cnt =0while n //3>0:# // - 取整, % 取模/余cnt += n //3n = n //3+ n %3if n ==2:cnt +=1print(cnt)except:break
GO代码实现
package mainimport("fmt")//汽水瓶处理兑换逻辑funcsolve(n int)int{cnt :=0for{if n /3>0{cnt += n /3n = n /3+ n %3}else{break}if n ==2{cnt +=1}}return cnt
}funcmain(){for{var n intfmt.Scan(&n)if n ==0{//循环终止的条件break}elseif n ==1{//边界条件fmt.Println(0)}elseif n <=3{//边界条件fmt.Println(1)}else{cnt :=solve(n)fmt.Println(cnt)}}}