题解 | #汽水瓶#
汽水瓶
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;
}
}
}
