又一版A+B - 九度教程第43题

题目:

时间限制:1 秒 内存限制:32 兆 特殊判题:否
题目描述:
输入两个不超过整型定义的非负 10 进制整数 A 和 B(<=2^31-1),输出 A+B 的 m (1 < m <10)进制数。
输入:
输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出 m 和 A,B 的值。 当 m 为 0 时输入结束。
输出:
输出格式:每个测试用例的输出占一行,输出 A+B 的 m 进制数
样例输入:
8 1300 48
2 1 7
0
样例输出:
2504
1000
来源:
2008 年浙江大学计算机及软件工程研究生机试真题

进制转换:

考虑一种较为特殊的数位拆解——进制转换。那是因为,进制转换与数位拆解一样,最终目的也是求各个数位上的数字。不同的是,数位拆解是:求十进制表示的数字各个数位上的数字,进制转换是:求以某种进制表示的数字用另一种进制来表示各个数位上的数字。

进制转换要完成的工作是:在各个进制表示特定数字的数字组之间相互转换。

如何完成进制转换

把从m进制转换到n进制转换为两个进制转换问题:

(1)从m进制转换到十进制

(2)再从十进制转换到n进制

这样,只需掌握十进制与其他进制的相互转换就可以完成任意进制间的转换了。

十进制转换为二进制:十进制数x,对x模2。 二进制->十进制:计算各个数位上的数字与该位权重的积。

(1)求十进制数xk进制:不断重复对x求余(模k),求商(除以k),即可由低到高依次得到各个数位上的数。

(2)求k进制->十进制:依次计算各个数位上的数字与该位权重的积,然后依次累加即可得到该十进制数。

解析:

此题:十进制->m进制。 不断对m取模求余、除以m

代码:

#include<stdio.h>
int main()
{long long a,b;  //使用数据类型long long确保不会溢出int m;while(scanf("%d",&m)!=EOF){if(m==0) break;         //当m等于0时退出scanf("%lld%lld",&a,&b);//用%lld对long long变量赋值a=a+b;                  //计算a+bint ans[50],size=0;     //ans用来保存依次转换得到的各个数位数字的值,size表示其个数do{ans[size++]=a%m;    //对m求模a/=m;               //除以m}while(a!=0);           //当a不为0时重复该过程for(int i=size-1;i>=0;i--){printf("%d",ans[i]);}                       //输出,注意顺序为从高位到地位printf("\n");           //输出换行}return 0;
}

例4.2 又一版A+B - 九度教程第43题(进制转换)相关推荐

  1. 【Python 最全版(一)】—加解密、编码解码、进制转换、字符串转换

    点个赞留个关注吧!! <<请先安装这几个模块>> # Python 3.11.0 import hashlib import binascii import google_cr ...

  2. 递归实现进制转换(C++版)

    上次呢,我们留下了一道题,今天我们来一起看一看: 题目链接:https://www.cnblogs.com/gaozirong/p/10547434.html 这是我写的程序,大家可以对照参考一下(C ...

  3. 进制转换(二进制、八进制、十进制、十六进制)超详细版

    今天来总结一下各种进制转换问题,详细齐全易于理解,希望对你有帮助哦! 各种进制之间的相互转换 先从我们最熟悉的十进制入手吧,其他进制与十进制的转换方法都是一样的. 整型有4种进制形式: 1.十进制: ...

  4. python进制转换——函数版

    之前写过一版进制转换是脚本式+面向过程的思想​​​​​​​ 今天用函数式编程的思想写一段执行能力强的代码!!! 如果有可以用到的小伙伴,可以三连一下. ''' 写一个函数可以实现进制互转,要求:判断是 ...

  5. 进制转换强化版(任意转任意)

    题目描述 输入一个 b 进制的数字 s,将其转换成对应的 d 进制的数字. 输入格式 共一行,为三个数字,第一个为数字 s,第二个为当前进制 b,第三个为待转化进制 d 输出格式 为一个数字,表示对应 ...

  6. 进制转换(Q进制转换成T进制)详解版

    题目: 给定一个整数Q(2<=Q<=10),一个非空字符串,以及另一个整数T(2<=T<=10), 编程要求过滤掉字符串中所有非Q进制数对应的字符组成一个新的字符串,该字符串无 ...

  7. 【ACM】杭电OJ 1877 又一版A+B(进制转换)

    注意:A和B都是0的情况 A和B为int也可以AC #include<cstdio> #include <iostream> using namespace std;const ...

  8. c++将小数化为二进制_C++版进制转换(十进制,二进制,十六进制整数和小数)

    进制转换C++代码 #include #include #include #include using namespace std; void MainMenu() { system("cl ...

  9. 【PAT甲级 进制转换】1019 General Palindromic Number (20 分) Java版 7/7通过

    题目 这道题可以说是非常友善了,说白了是个水题.题目没什么坑,一次通过,主要思想就是: 输入两个数:num和base 将num按照base进制转换,得到arr 判断arr是否是一个回文数,并且输出这个 ...

  10. 【PAT甲级 素数判断 进制转换】1015 Reversible Primes (20 分) Java版 4/4通过

    题目 思路: 为了提高效率,判断素数采用打表的方式 先计算100000以内的所有素数,然后如果要判断一个数是否为素数的话,直接与表中比对 题目中的意思是: 首先,判断一个数N1是否为素数 如果N1是素 ...

最新文章

  1. 【知识积累】C#中结构体和类的区别
  2. 有一种灾难,叫数据中心被大火烧了
  3. 部署 JSP 工程文件
  4. php access ole相片,[求助]怎样读取ACCESS数据库中的OLE对象的图片啊???
  5. 存到mysql的中文乱码_将用户输入的中文保存到数据库出现中文乱码问题
  6. Redux/Mobx面试题汇总
  7. 【转】android TV CTS 4.0.3_r1测试
  8. 利用EfficientNet-B5从眼底摄影检测糖尿病视网膜病变的严重程度
  9. face++人脸识别源码
  10. 触屏西门子plc和计算机通讯,西门子S7-200CPU之间及它们与触摸屏之间数据读取如何连接?...
  11. 结巴分词标注兼容_ICTCLAS2008汉语词性标注集
  12. 服务器sas系统盘损坏,磁盘阵列中SCSI、SAS硬盘由于一块或者多块有坏道引起操作系统产生如下故障...
  13. Linux ubuntu18.04下socket聊天室 私聊 群聊
  14. 第十一章 枚举与泛型总结
  15. java捕捉摄像头画面_在java中捕获来自网络摄像头的图像?
  16. ping不通外网 连不上外网
  17. YUV数据格式的转换(NV12ToI420)和旋转(旋转90度)
  18. OCR识别-证件识别
  19. EMC 共模电感选型
  20. yolov7+SE注意力机制(个人备忘录)

热门文章

  1. xml绑定省市,并实现二级联动
  2. Python3入门机器学习经典算法与应用 第3章 Jupyter Notebook魔法命令%run,%timeit
  3. 接受吧,这世界充满潜规则
  4. pdf阅读器修改背景颜色 护眼色
  5. Atitit 标记语言ML(Markup Language) v6 目录 1. 标记语言ML Markup Language 1 1.1. 简介 1 2. 置标语言置标语言通常可以分为三类:标识性的
  6. Atitit 企业文化建设 职称体系建设 之道 attilax著 1. 职称 1 1.1. 职称级别 prc poc 设正高级、副高级、中级、助理级 1 2. Uke职称级别 资深 高级
  7. Atitit 通用服务端代理接口 转接口 attilax总结
  8. Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php  c#.Net
  9. Atitit.sql where条件表达式的原理  attilax概括
  10. paip.SVN无法提交--提示冲突的解决