题目:1022 D进制的A+B (20 分)

思路:

  • 首先根据A、B的取值范围,可知A+B不过2^31,所以转换成进制数时的最长长度为31。
  • 转换成进制的数存进数组,然后反向输出。
  • 要注意和为0的情况,当作特例处理,直接输出0,否则测试点3会错。

代码:

 #include <cstdio>
#include <cstring>
#include <iostream>
#include <sstream>
#include <cmath>
#include <algorithm>
#include <string>
#include <stack>
#include <queue>
#include <vector>
#include <map>
using namespace std; int main()
{
int a, b, c, d, sys[];
scanf("%d%d%d", &a, &b, &d);
c = a + b;
if(c == )
printf("");
// printf("c = %d\n", c);
else
{
int cnt = ;
while(c > )
{
sys[cnt++] = c % d;
c /= d;
// printf("hc = %d\n", c);
}
for(int i = cnt-; i >= ; i--)
printf("%d", sys[i]);
}
return ;
}

总结:

  刚开始一看题目,啊简单的基础题,没怎么想就直接动手了,结果栽了跟头,数组设小了……,改好后,测试点3一直错,啥原因啊,看了看范围,没考虑0的情况,考虑进去后ok。

1022 D进制的A+B (20 分)的更多相关文章

  1. PAT (Basic Level) Practice (中文)1022 D进制的A+B (20分)

    1022 D进制的A+B (20分) 输入两个非负 10 进制整数 A 和 B ( ≤ 2​30​​ −1),输出 A+B 的 D (1<D≤10)进制数. 输入格式: 输入在一行中依次给出 3 ...

  2. PAT Basic 1022 D进制的A+B (20 分)

    输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数. 输入格式: 输入在一行中依次给出 3 个整数 A.B 和 D. 输出格式: 输出 A+B 的 D 进制数. 输入 ...

  3. PAT (Basic Level) Practice (中文)1022 D进制的A+B (20 分)

    输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数. 输入格式: 输入在一行中依次给出 3 个整数 A.B 和 D. 输出格式: 输出 A+B 的 D 进制数. 输入 ...

  4. [刷题] 1022 D进制的A+B (20分)

    思路 设t = A + B,将每一次t % d的结果保存在int类型的数组s中 然后将t / d,直到 t 等于 0为止 此时s中保存的就是 t 在 D 进制下每一位的结果的倒序 最后倒序输出s数组 ...

  5. 1022. D进制的A+B (20)

    1022. D进制的A+B (20) 时间限制 100 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 输入两个非负10进制整数A和 ...

  6. PAT乙级 1022. D进制的A+B (20)

    1022. D进制的A+B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 输入两个非负10进制整数A和 ...

  7. PAT-乙级-1022. D进制的A+B (20)

    1022. D进制的A+B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 输入两个非负10进制整数A和 ...

  8. 1022 D进制的A+B (20)(20 分)

    1022 D进制的A+B (20)(20 分) 输入两个非负10进制整数A和B(<=\(2^{30}-1\)),输出A+B的D (1 < D <= 10)进制数. 输入格式: 输入在 ...

  9. PAT (Basic Level) Practise (中文)- 1022. D进制的A+B (20)

    PAT (Basic Level) Practise (中文)-  1022. D进制的A+B (20)  http://www.patest.cn/contests/pat-b-practise/1 ...

随机推荐

  1. Codeforces 1295C - Obtain The String

    题目大意: 给定两个字符串s和t,你有一个空字符串z 每次可以取s的任意一个子序列加到z后面 问至少要取多少次才能让z等价于t 解题思路: vector存s中26个字母的位置 然后t字符串从前往后一个 ...

  2. vi_终端中的编辑器操作

    vi -- 终端中的编辑器 目标 vi 简介 打开和新建文件 三种工作模式 常用命令 分屏命令 常用命令速查图 01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简 ...

  3. 吴裕雄--天生自然 PYTHON3开发学习:运算符

    #!/usr/bin/python3 a = 21 b = 10 c = 0 c = a + b print ("1 - c 的值为:", c) c = a - b print ( ...

  4. HNOI2018/AHOI2018 游戏

    这题放过了暴力其实就没啥意思了 虽然暴力复杂度很玄学,但是思维水平确实没啥 Description link 题意概述:现在有一条长度为 \(n\) 的链,有些边是有限制的 限制为能到某个点,才能经过 ...

  5. mysql 获取数据库和表结构信息

    SELECT * FROM information_schema.`TABLES` where TABLE_SCHEMA = '数据库名';SELECT * FROM information_sche ...

  6. fastDFS 文件系统搭建

    1.单机版 https://www.cnblogs.com/chiangchou/p/fastdfs.html#_label3_0 2.集群版

  7. grub.cfg文件编辑

    grub2启动项里面找不到Windows的情况,这时候就需要自己去配置grub.cfg 在grub.cfg中加入如下代码: menuentry 'Windows Boot Manager (on /d ...

  8. ReportingService语法

    ="Dear All:"& vbcrlf & vbcrlf & IIF(First(Fields!ProductFamily.Value, "bc ...

  9. jdk8下载地址

    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Java SE Binaries ...

  10. 2019深圳Android千人开发者大会【NEW·无界】

    报名地址:https://www.hdb.com/dis/mjcsegnslu 安卓巴士技术社区是中国领先的安卓开发者社区,现已聚集超过85万开发者,数年来一直致力于IT从业者的知识分享服务. 安卓巴 ...