华为研发工程师编程题1汽水瓶
2017-12-11 20:02
295 查看
这道题一看到智力题三个字还紧张了一下,觉得自己智力不太够用。但是这个智力题还是蛮简单的。
设定一个变量total表示每一轮手上的空汽水瓶总数。total/3是这一轮能换的汽水瓶数,加到结果res里。total%3是剩下的汽水瓶数。两者加起来就是新一轮的total。注意total == 2的时候,res+1返回。total == 1或者total == 0,直接返回res
#include <iostream>
using namespace std;
int main()
{
int n = 0;
while(cin >> n){
if(n == 0) break;
int total = n;
int res = 0;
while(total > 2)
{
int r = total / 3;
res += r;
int yu = total % 3;
total = r + yu;
}
if(total == 2)
cout << res + 1 << endl;
else
cout << res << endl;
}
}
相关文章推荐
- 华为研发工程师编程题----进制转换(pow函数,string.find())
- 2017华为研发工程师编程题之明明的随机数
- 华为2016研发工程师编程题---删数
- 华为研发工程师编程题----汽水瓶
- 字符集合-- 华为2016研发工程师编程题
- 华为研发工程师编程题
- 删数--约瑟夫环-- 华为2016研发工程师编程题
- 华为研发工程师编程题:明明的随机数 [python]
- 华为2016研发工程师编程题(1)----删数
- 华为2016研发工程师编程题(2)----字符集和
- 华为研发工程师编程题:进制转换 [python]
- 华为2016研发工程师编程题1删数
- 华为2016研发工程师编程题3数独
- 华为研发工程师编程题2明明的随机数
- 【真题】华为研发工程师 汽水瓶
- 华为2016研发工程师编程题2字符集合
- 华为研发工程师编程题3
- 华为2016研发工程师编程题之字符集合
- 华为2016研发工程师编程题 - 题解
- 华为2016研发工程师编程题