题目链接:http://ac.jobdu.com/problem.php?pid=1208

详细链接:https://github.com/zpfbuaa/JobduInCPlusPlus

参考代码:

  1. //
  2. // 1208 10进制 VS 2进制.cpp
  3. // Jobdu
  4. //
  5. // Created by PengFei_Zheng on 17/04/2017.
  6. // Copyright © 2017 PengFei_Zheng. All rights reserved.
  7. //
  8.  
  9. #include <stdio.h>
  10. #include <iostream>
  11. #include <algorithm>
  12. #include <string.h>
  13. #include <cmath>
  14. #define MAX_SIZE 10010
  15. #define FROM 10
  16. #define TO 2
  17.  
  18. using namespace std;
  19.  
  20. int main(){
  21. char from[MAX_SIZE];
  22. while(scanf("%s",from)!=EOF){
  23. int len = (int)strlen(from);
  24. int size = ;
  25.  
  26. char to[MAX_SIZE];//逆序保存十进制数对应的二进制,正好是题目需要的逆置二进制
  27. int ans[MAX_SIZE];//保存最终计算结果
  28.  
  29. while(true){//FROM 进制转为 TO 进制
  30. int i = ;
  31. while(from[i]=='' && i < len) i++;
  32. if(i == len) break;
  33. int remain = ;
  34. for(; i < len ; i++){
  35. int tmp = from[i] - '' + remain * FROM;
  36. from[i] = tmp/TO+'';
  37. remain = tmp%TO;
  38. }
  39. to[size++] = remain+'';
  40. }
  41. // cout<<to<<endl;
  42. int length = ;
  43. ans[] = ;
  44. for(int i = ; i < size ; i++){//1011 --> (((0*2+1)*2+0)*2+1)*2+1
  45. int carry = to[i] - '';
  46. for(int j = ; j < length ; j++){
  47. if(j==)
  48. ans[j] = ans[j] * TO + carry;
  49. else
  50. ans[j] = ans[j] * TO;
  51. }
  52. for(int j = ; j < length ; j++){
  53. if(j == length - && ans[j] >=){
  54. ans[j] = ans[j]%;
  55. ans[++j] = ;
  56. length++;
  57. }
  58. else if (ans[j]>=){
  59. ans[j] = ans[j]%;
  60. ans[j+]++;
  61. }
  62. }
  63. }
  64. for(int i = length - ; i >= ; i--){
  65. printf("%d",ans[i]);
  66. }
  67. printf("\n");
  68. }
  69. return ;
  70. }
  71.  
  72. /**************************************************************
  73. Problem: 1208
  74. User: zpfbuaa
  75. Language: C++
  76. Result: Accepted
  77. Time:40 ms
  78. Memory:1520 kb
  79. ****************************************************************/

题目1208:10进制 VS 2进制(进制转换以及大数保存问题)的更多相关文章

  1. 【九度OJ】题目1208:10进制 VS 2进制 解题报告

    [九度OJ]题目1208:10进制 VS 2进制 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1208 题目描述: 对于一 ...

  2. Python输出16进制不带0x补零,整数转16进制,字符串转16进制

    Python输出16进制不带0x补零,整数转16进制,字符串转16进制   在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性.例如调试服务端刚接到的二进制数据(里面包含很多 ...

  3. python基础练习题(题目 对10个数进行排序)

    day24 --------------------------------------------------------------- 实例037:排序 题目 对10个数进行排序. 分析:先输入1 ...

  4. java12小时制的时间转换为24小时制

    Java中将12小时制的时间转换为24小时制的方式如下: import java.text.SimpleDateFormat; import java.util.Date; public class ...

  5. 九度OJ题目1208:10进制 VS 2进制 (JAVA)

    题目描述: 对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们乘B为A的二进制逆序数.     例如对于十进制数173,它的二进制形式为10101101,逆序排列得到1 ...

  6. 九度oj 题目1208:10进制 VS 2进制

    题目描述: 对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们乘B为A的二进制逆序数.    例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10 ...

  7. golang中字符串、数值、2进制、8进制、16进制、10进制、日期和字符串之间的转换

    package main import ( "fmt" "reflect" "strconv" "time" ) fun ...

  8. 16进制字符串转换为3进制(扩展至K进制)

    [本文链接] http://www.cnblogs.com/hellogiser/p/16-to-3-or-k.html [题目] 写代码把16进制表示的串转换为3进制表示的串.例如x=”5”,则返回 ...

  9. (任意进制转换)将 r 进制数转成 k 进制数

    我们知道任意进制转换为十进制,都是乘以基数的多少次方,然后相加: 十进制转换为任意进制,都是除以基数,然后倒着取余数: 所以这里是用十进制数中转,实现任意进制数的转换 #include<iost ...

随机推荐

  1. 每天一个linux命令:cat 命令

    cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [选项] [文件] ...

  2. log4net按照不同的【LEVEL】级别输出到不同文件

    Log4net按照不同级别写入多个日志文件 2012-02-08 15:06 by Fred-Xu, ... 阅读, ... 评论, 收藏, 编辑 在一个Web应用项目中,我使用了Fluent NHi ...

  3. java中获取文件目录

    1. web项目得到部署的目录路径(最后包含"/"或"\"): xxx(HttpServletRequest request) { String strDirP ...

  4. Memcached Java Client比较

    JAVA客户端调用memcached比较 Memcached 客户端程序三种API的比较 Java开发中的Memcache原理及实现(五)Memcached客户端

  5. thinkphp并发 阻塞模式与非阻塞模式

    结构代码 public function index(){ $fp = fopen("lock.txt", "w+"); if(flock($fp,LOCK_E ...

  6. CocoaPods 第三方库管理器

    下载地址:https://github.com/kattrali/cocoapods-xcode-plugin 跟 VVDocumenter 规范注释生成器的安装方式一样: 下载开源工程在 Xcode ...

  7. MathType让矩阵中的小数以小数点对齐的教程

    用MathType编辑公式时,有很多模板都可以应用,并且这些模板并不是只有一种用途,比如矩阵.矩阵模板可以用来编辑矩阵也可是用来编辑一些需要排列组合的数据等等.在用MathType编辑矩阵时,如果里面 ...

  8. SQLServer查看存储过程的方法

    使用 sp_helptext 查看存储过程的定义 在对象资源管理器中,连接到 数据库引擎实例,再展开该实例. 在工具栏上,单击“新建查询”. 在查询窗口中,输入下列语句.更改数据库名称和存储过程名称以 ...

  9. [转] 关于QT的系统总结

    出处:http://www.cnblogs.com/wangqiguo/p/4625611.html 阅读目录 编译环境与开发流程 QT项目的构成及原理 QT中的布局 QT中的通用控件 QVarian ...

  10. linux环境中安装ftp服务

    需求说明: 今天项目中有一个新的需求,需要在linux环境中搭建一个ftp服务,在此记录下. 操作过程: 1.通过yum的方式安装ftp服务对应的软件包 [root@testvm01 ~]# yum ...