题解 | #汽水瓶#

package 华为.模拟;
/*

  • 动态规划:
  • dp[i]:表示以i个汽水瓶能够换取的汽水个数
  • dp[i]=i/3+dp[i/3+i%3]
  • 边界条件:dp[1] = 0;dp[2] = 1
  • /
    import java.util.Scanner;

public class 汽水瓶 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
//输入汽水瓶个数
int n = sc.nextInt();
if (n==0) {
continue;
}
System.out.println(calue(n));
}
}

private static int calue(int n) {
    int[] dp = new int[n+1];
    dp[1] = 0;
    dp[2] = 1;
    for (int i = 3; i <= n; i++) {
        dp[i]=i/3+dp[i/3+i%3];
    }
    return dp[n];
}

}

全部评论

相关推荐

求求要我吧:你教育经历放在下面干什么,而且27届还是28届啊()另外看你简历有两面,通常来说投递运营岗位一面简历就够了。另外个人总结要写也放在简历最下面,然后你奖项那里是2019年的哇哈哈,那你究竟投递的是社招还是实习?实习的话你是第几届是肯定要写出来的,社招的话你这个工作经历又太短太花了
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务