题解 | #汽水瓶#
汽水瓶
https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f
方法1 找规律
方法2 递归(注释为使用字典记录)
using System; // using System.Collections.Generic; namespace HJ22{ class Solution{ //方法一:找规律 3-2 4-2 5-2 6-3 7-3 8-4 9-4 .... public static void Main(){ int n = 0; while((n = int.Parse(Console.ReadLine())) !=0){ if(n != 0){ Console.WriteLine(n/2); } } } //方法二:递归 f(n)=n/3 + f(n%3 + n/3) public static void Main(){ int n = 0; while((n = int.Parse(Console.ReadLine())) !=0){ if(n != 0){ n = calNum(n); Console.WriteLine(n); } } } // static Dictionary<int, int> map = new Dictionary<int, int>(); public static int calNum(int num){ int res; if(num == 1){ return 0; }else if(num == 2){ return 1; } // if(map.ContainsKey(num)){ // map.TryGetValue(num, out res); // return res; // } res = num/3 + calNum(num%3+num/3); // map.Add(num, res); return res; } } }