题目:

小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。
魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币
魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币
小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币。

输入描述:

输入包括一行,包括一个正整数n(1 ≤ n ≤ 10^9),表示小易需要的魔法币数量。

输出描述:

输出一个字符串,每个字符表示该次小易选取投入的魔法机器。其中只包含字符'1'和'2'。

输入例子1:

10

输出例子1:

122

算法思想

魔法机器1只能产生奇数,魔法机器2只能产生偶数。

从n不断按奇偶倒推回0就可以了。

JAVA代码实现:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            int coinCount = in.nextInt();
            StringBuilder sb = new StringBuilder();
            while (coinCount > 0) {
                if (coinCount % 2 == 0) {
                    //偶数
                    coinCount = (coinCount - 2) / 2;
                    sb.append("2");
                } else {
                    //奇数
                    coinCount = (coinCount - 1) / 2;
                    sb.append("1");
                }
            }
            System.out.println(sb.reverse().toString());
        }
    }
}

编程-----魔法币投币方案设计相关推荐

  1. B站 自动投币 需要登录后的cookie

    原文链接: B站 自动投币 需要登录后的cookie 上一篇: cheerio 爬取 B站 视频热门视频的bv号 下一篇: nodejs 发送qq邮件 nodemailer b站经验获取 如何获得经验 ...

  2. 使用 JS 和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励

    使用 Axios 和GitHub Actions实现哔哩哔哩每日自动签到.投币.领取奖励 SCHEDULE-BILIBILI 是一个B站自动执行任务的工具,使用 JS + AXIOS 编写,通过它可以 ...

  3. .NET 5开源项目:b站账号快速升级到 Lv6,每天自动签到,观看,分享,投币视频!...

    推荐一个神奇的开源项目:BiliBiliTool https://github.com/RayWangQvQ/BiliBiliTool .Net 5 编写的B站(哔哩哔哩)任务工具,通过GitHub ...

  4. 模拟自动售卖机售卖3、5、8元饮料投币业务

    import java.util.Scanner;public class Demo {public static void main(String[] args) {System.out.print ...

  5. b 站账号快速升级到 Lv6:每天自动签到,观看,分享,投币视频

    苏生不惑第192 篇原创文章,将本公众号设为星标,第一时间看最新文章. 关于b站之前写了8篇文章,有兴趣回顾下: bilibili(b站)升级到BV号了,还想用av号怎么办? 那些你可能不知道的 bi ...

  6. Excel :模拟投币实验

    对于投币实验这种需要快速生成想要的随机数来完成实验,Excel十分便利. 首先在Excel中列出如下表格用于记录数据: 然后利用Excel自带的数据分析工具完成实验,"数据分析"工 ...

  7. 现代密码学(六)——投币协议(Coin-Flipping by Phone)

    掷币协议(Coin-Flipping by Phone) Alice和Bob想通过投币协议,决定是去 Cinema 还是去 Opera: 1.使用单向函数的投币协议 ① Alice随机选择一个数x,计 ...

  8. 用arduino监测投币机投币并控制门禁道闸

    功能:监测投币机的投币数量,到达指定数量开启门禁道闸.材料:arduino uno,投币机,继电器模块,8位DIP开关.原理:将投币机投币脉冲信号接入arduino中断引脚,根据中断次数判断投币数量. ...

  9. Python学习:爬虫之哔哩哔哩up主视频数据分析-点赞、播放量、投币、收藏与转发

    from selenium import webdriver import re import json from bs4 import BeautifulSoup import time from ...

最新文章

  1. 联机分析处理系统与联机事务处理系统的区别和联系_混合事务分析处理“HTAP”的技术要点分析...
  2. AI 还原宋代皇帝,原来这么帅?!
  3. 2021长安二中高考成绩查询,长安一中、长安二中,2017年高考上线喜报!
  4. win10 安装microsoft.net framework3.5
  5. git配置全局用户名和密码_还在手动打包,手动传jar包?那你确实应该学一下jekins配置了...
  6. 基于AliOS Things玩转智能语音
  7. spring security系列一:架构概述
  8. 选择排序算法(C++版)
  9. ascii码所有字符对照表(包含汉字和外国文字)
  10. 南京信息工程大学计算机科学与技术评级,晋升ESI排名全球前1‰,南京信息工程大学这个学科不简单!...
  11. 联想计算机设置恢复出厂,联想电脑恢复出厂设置还原系统攻略
  12. 2022年全球程序员收入报告出炉:国内程序员人均56w年薪。。网友说:我拖后腿了!...
  13. GD库的中文问题(推荐)
  14. C/C++中生成随机序列——随机函数的选择和自我实现
  15. 驼峰命名法(CamelCase)和下划线命名法(UnderScoreCase)之间的转换
  16. 斜率优化dp 的简单入门
  17. nodemcu wifi连接电脑,读取红外感应数据
  18. 华为VRRP+MSTP联动接口检测实验案例
  19. React生命周期介绍
  20. keras中EarlyStopping(早停止)的用法和原理详解

热门文章

  1. 盥洗台的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  2. 基于流文件和SMIL同步制作的有声绘本
  3. 音视频之渲染yuv图片
  4. expdp impdp
  5. python集合和列表、安从小到大的顺序组合成一个字典_第3章 Python容器:列表、元组、字典与集合...
  6. 一行代码实现shell if else逻辑
  7. LAMP编程之Linux(2)
  8. 将java对象存储到redis数据库(两种实现方式)
  9. 【WY】数据分析 — 空间数据阶段一 :进阶语法 二 —— 3D图表
  10. 【NOIP模拟】序列