ZZULIOJ-1068,二进制数(Java)

简介: ZZULIOJ-1068,二进制数(Java)

题目描述:


将一个二进制数,转换为对应的十进制数。


输入:


输入一个二进制数,以回车结束。该二进制数为正数,长度不超过31。  


输出:



输出一个整数,为该二进制数对应的十进制数。  


样例输入:


100000000001


样例输出:


2049


提示:


(1) 整数运算尽量避免pow之类的double类型函数,以免截断取整带来错误。 (2)可使用递推思想,充分利用中间结果。类似思想可参考秦九韶算法。秦九韶算法是中国南宋时期的数学家秦九韶提出的一种多项式简化算法。计算一次多项式f(x) = a0*xn + a1*x(n-1) + ... + an 只需要n次乘法和n次加法。原理是一次多项式f(x)可写成如下加括号方式:f(x) =(( (a0*x + a1)*x + a2) * x + ... an-1) * x + an。自内向外去括号计算,只需要n次乘法和n次加法。

本题从高位到低位依次输出二进制数,对应多项式系数a0, a1,....,an, 而x的值为2。递推过程如下:

d = 0;

while( ch =  getchar(), ch != '\n')

    d  = d * 2 + (ch - '0');  


程序代码:


import java.util.*;
public class Main
{
  public static void main(String[] args)
  {
    Scanner input=new Scanner(System.in);
    int d=0,len;
    char ch;
    String a=input.nextLine();
    len=a.length();
    for(int i=0;i<len;i++)
    {
      ch=a.charAt(i);
      d=d*2+(ch-'0');
      if(ch=='\n')
        break;
    }
    System.out.println(d);
  }
}
相关文章
|
前端开发 JavaScript 安全
开源一款剪贴板跨设备共享工具
`shigen`,编程博主,擅长多种语言,近期自制了一个名为`copyhub`的工具,用于局域网内跨设备同步剪贴板。设计灵感源于对现有共享工具的安全顾虑,采用`Flask`和`Redis`实现,前端直接HTML+JS,简化架构。用户通过取件码交换内容,不涉及复杂功能。代码已开源并在个人腾讯云服务器上部署。更多详情见shigen的GitHub和哔哩哔哩频道。一起探索,每天进步!
412 1
开源一款剪贴板跨设备共享工具
|
负载均衡 算法 关系型数据库
令人惊叹的 PostgreSQL 可伸缩性
这是一篇系统设计经验分享,主要介绍了如何使用 PgBouncer 以解决 PostgreSQL 的可伸缩性(Scalability)问题。55M QPS + 20% 的互联网流量听上去并不小,但从 PostgreSQL 专家的角度看,这里的实践确实还是有些朴素简陋 —— 甚至可以说大惊小怪。不过,是这篇文章确实抛出来了一个有意义的问题 —— 即 PostgreSQL的 可伸缩性 到底怎么样?
469 3
|
Apache 数据安全/隐私保护 安全
|
8月前
|
存储 弹性计算 缓存
【阿里云】操作系统控制台深度体验与性能测评
本文介绍了如何通过阿里云控制台高效管理云资源,包括创建云服务器ECS、RAM授权、组件安装、系统诊断和监控等操作。阿里云控制台提供了便捷的操作界面、实时监控功能、高效的管理和安全预警,帮助用户优化云环境性能并确保业务高效运行。通过具体实例,展示了从创建ECS实例到进行系统诊断和观测的全流程,并提供了针对常见性能瓶颈的优化建议。此外,还提出了改进建议,如增加应用示例和报告存储功能,以提升用户体验。
313 21
|
Shell
服务器需要扩容,如何停止宝塔的所有服务?
服务器需要扩容,如何停止宝塔的所有服务?
167 3
|
机器学习/深度学习 监控 安全
量化合约对冲策略交易app系统开发技术规则
量化合约对冲策略交易APP系统开发技术规则涵盖系统架构设计、量化策略实现、交易管理、风险管理、用户界面设计及性能优化等方面。通过模块化设计、分布式架构、数据持久化、策略开发、算法交易、回测优化、订单管理、持仓监控、资金安全、风险控制、实时监控、安全审计、界面设计、反馈机制、多语言支持、响应速度、资源优化和兼容性等措施,确保系统的稳定、安全、高效和易用。
|
Linux 网络安全
FTP被动模式配置
FTP被动模式配置
746 1
|
存储 数据挖掘 数据库
InfluxDB的连续查询与数据聚合技术详解
【4月更文挑战第30天】InfluxDB的连续查询(CQ)功能用于自动定时聚合时间序列数据,适用于数据降采样、实时分析和告警通知等场景。CQ使用InfluxQL编写,例如,每1小时对`cpu_usage`测量值计算主机的平均CPU使用率并存入`cpu_usage_hourly`。InfluxDB提供多种聚合函数如`MEAN()`, `MAX()`, 支持滑动窗口聚合等复杂操作,助力时间序列数据分析和趋势预测。通过CQ,用户能高效管理和利用时间序列数据信息。
1386 0
|
程序员
『中秋赏月』程序员用文心大模型带你玩转不一样的中秋
『中秋赏月』程序员用文心大模型带你玩转不一样的中秋
266 1
『中秋赏月』程序员用文心大模型带你玩转不一样的中秋
|
负载均衡 Java 网络架构
十六.SpringCloud源码剖析-Feign源码分析
Spring Cloud OpenFeign 对 Netflix Feign 进行了封装,我们通常都使用Spring Cloud OpenFeign作为服务的负载均衡,本文章主要是探讨一下OpenFeign的初始化流程,以及生成代理类注入到Spring的过程