您的位置:首页 > 编程语言 > C语言/C++

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

2017-07-14 10:40 603 查看


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

时间限制

100 ms

内存限制

65536 kB

代码长度限制

8000 B

判题程序

Standard

作者

CHEN, Yue

输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

输入在一行中依次给出3个整数A、B和D。

输出格式:

输出A+B的D进制数。
输入样例:
123 456 8

输出样例:
1103


编译器

AWK (awk 4.1.1)C (gcc 4.7.2)
C# (mcs 3.2.8.0)C++ (g++ 4.7.2)
CommonLisp (sbcl 1.2.4)Go (gccgo 4.7.2)
Go (go 1.3.3)Haskell (ghc 7.6.3)
Java (javac 1.6.0)Javascript (node 0.10.33)
Lua (lua 5.2.3)OCaml (ocamlc 4.01.0)
Pascal (fpc 2.6.4)Perl (perl 5.20.2)
Plaintext (cat 1.0)Python (python3 3.4.2)
Python (python2 2.7.9)Ruby (ruby 2.1.5)
Scheme (racket 6.1)Shell (bash 4.3.30)
VisualBasic (vbnc 0.0.0.5943)

 使用高级编辑器
代码



 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21




#include <iostream>

#include <algorithm>

#include<cstdio>

#include<cstring>

using namespace std;

int main()

{

int a,A,B,D;

int i=0,b[1000];

cin>>A>>B>>D;

a=A+B;

while(a>=D)

{

b[i++]=a%D;

a=a/D;

}

b[i]=a;

for(int j=i;j>=0;j--)

cout<<b[j];

return 0;

}

体会: 这道题可以利用数学上的短除法进行进制的转化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言