import java.util.ArrayList;

import java.util.Scanner;


public class Main 

{

public static void main(String[] args) 

{

Scanner sc = new Scanner(System.in);

ArrayList<Integer> arrayList = new ArrayList<>();

while (sc.hasNext()) 

{

int n = sc.nextInt();

if (n==0) break;//判断输入为0时结束输入

arrayList.add(n);

}

for (Integer integer : arrayList)

System.out.println(bottle(integer));

}

public static int bottle(int n) 

{

int sum = 0;

int temp = 0;

if (n==1) return 0;//递归头

if (n==2||n==3) return 1;//递归头

if (n%3==0) //计算可整除部分喝的汽水总数

sum = n/3;

else 

{

sum = n/3; //计算不可整除部分喝的汽水总数,并统计多余的空汽水瓶

temp = n%3;

}

return sum+bottle(sum+temp);//递归部分,返回空的汽水瓶数,并统计喝的汽水总数

}

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论