魔法币
来源:互联网 发布:知乎专栏怎么赚钱 编辑:程序博客网 时间:2024/04/28 04:11
小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。
魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币
魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币
小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币。
魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币
魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币
小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币。
输入描述:
输入包括一行,包括一个正整数n(1 ≤ n ≤ 10^9),表示小易需要的魔法币数量。
输出描述:
输出一个字符串,每个字符表示该次小易选取投入的魔法机器。其中只包含字符'1'和'2'。
输入例子1:
10
输出例子1:
122
import java.util.Scanner;/** * Created by 亮大王 on 2017/9/22. */public class 魔法币 { public static void main(String[] args) { Scanner sc= new Scanner(System.in); int n = sc.nextInt();//需要的魔法币数 String temp = ""; /**机器1每次产生2x+1个魔法币 机器2每次产生2x+2个*/ /**输出描述: 输出一个字符串,每个字符表示该次小易选取投入的魔法机器。其中只包含字符'1'和'2'。 输入例子1: 10 输出例子1: 122*/ while(n>0){ if(n % 2 ==0){ temp = 2+temp; n = (n-2)/2; } else{ temp = 1+temp; n = (n-1)/2; } } System.out.println(temp); }}
阅读全文
0 0
- 魔法币
- 算法题/魔法币
- 魔法币问题
- 魔法币问题
- 【牛客网】魔法币
- 魔法币问题
- [编程题] 魔法币
- 魔法币问题
- java魔法币问题
- 魔法
- 魔法
- 魔法币 -- 漫漫算法路 刷题篇
- 2018网易校招- 魔法币
- 网易2018校园招聘:魔法币 [python]
- 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。
- map 魔法 reduce魔法
- (网易2018校招笔试)[编程题] 魔法币
- 网易2018校园招聘编程真题之魔法币
- 浅谈手机进化史
- js中创建对象的几种方式
- mysql_config_editor实现mysql无密码登录
- Java9 新特性
- BZOJ 1907 树DP 解题报告
- 魔法币
- 修改 UITableViewCell 选中时的颜色
- XCode9的新变化
- 通过 Powershell 来调整 ARM 模式下虚拟机的尺寸
- Redis关键点(自动bgrewriteaof)
- colorAccent,colorPrimary,colorPrimaryDark做什么的?
- 邀您免费加入到程序猿小密圈
- 关于使用git bash中遇见的问题,乱码、行号等
- 云主机和虚拟主机云服务器与物理服务器的主要区别