HJ22. 汽水瓶
描述
输入描述
输入文件最多包含 10 组测试数据,每个数据占一行,仅包含一个正整数 n( 1<=n<=100 ),表示小张手上的空汽水瓶数。n=0 表示输入结束,你的程序不应当处理这一行。
输出描述
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。
示例1
输入:
3 10 81 0
输出:
1 5 40
说明:
样例 1 解释:用三个空瓶换一瓶汽水,剩一个空瓶无法继续交换 样例 2 解释:用九个空瓶换三瓶汽水,剩四个空瓶再用三个空瓶换一瓶汽水,剩两个空瓶,向老板借一个空瓶再用三个空瓶换一瓶汽水喝完得一个空瓶还给老板C 解法, 执行用时: 1ms, 内存消耗: 256KB, 提交时间: 2021-01-17
int getValid(int number) { int x=0; int y=0; int rtn=0; if(number == 1) { return 0; } else if(number == 2) { return 1; } else { x=number%3; y=number/3; rtn = y; rtn += getValid(x+y); return rtn; } } void main (void) { int num,result=0; while(scanf("%d",&num)&&(num!=0)) { result = getValid(num); printf("%d\n",result); } }
C 解法, 执行用时: 1ms, 内存消耗: 256KB, 提交时间: 2020-07-06
#include<stdio.h> int main (){ int m; while(~scanf("%d",&m)&&m!=0) printf("%d\n",m/2); return 0; }