网易2018校园招聘编程题真题-[编程题] 魔法币
2017-10-15 19:53
225 查看
问题描述:
时间限制:1秒空间限制:32768K
小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。
魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币
魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币
小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币。
输入描述:
输入包括一行,包括一个正整数n(1 ≤ n ≤ 10^9),表示小易需要的魔法币数量。
输出描述:
输出一个字符串,每个字符表示该次小易选取投入的魔法机器。其中只包含字符’1’和’2’。
C++代码
//二叉树 #include<bits/stdc++.h>//包含所有头文件 using namespace std; typedef long long LL; const double PI=acos(-1.0); stack <int>k; void ans(int n){ if(n==0) return; if(n&1){ n=(n-1)/2; k.push(1); }else{ n=(n-2)/2; k.push(2); } ans(n); } int main(){ // freopen("F://inp.txt","r",stdin); // freopen("F://outp.txt","w",stdout); int n; while(cin>>n){ ans(n); while(!k.empty()){ cout<<k.top(); k.pop(); } cout<<endl; } return 0; }
相关文章推荐
- 网易2018校园招聘编程题真题集合1魔法币
- 网易2018校园招聘编程题真题 合唱
- 牛客网-网易2018校园招聘编程题真题集合-解题思路及源码
- 网易2018校园招聘编程题真题-[编程题] 相反数
- 网易2018校园招聘编程题真题集合之重排序列
- 网易2018校园招聘编程题真题集合
- 网易2018校园招聘编程题真题-[编程题] 交错01串
- 网易2018校园招聘编程题真题集合
- [网易]2018校园招聘编程题真题集合
- 网易2018校园招聘编程题真题集合2相反数
- 网易2018校园招聘编程题真题-[编程题] 字符串碎片
- 网易2018校园招聘编程题真题集合3字符串碎片
- 网易2018校园招聘编程题真题集合(一)
- 网易2018校园招聘编程题真题集合 (部分)
- [网易]2018校园招聘编程题真题集合
- 网易2018校园招聘编程真题之魔法币
- 网易2018校园招聘编程真题之重排数列
- 网易2018年校园招聘编程题真题(魔法币&&相反数&&字符串碎片&&重排数列)
- 网易2018校园招聘编程题
- 网易2018校园招聘:魔法币 [python]