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

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

乙级题都是细节题

思路:看这数据范围,得用longlong,然后写个函数表示D进制

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 char digits[]= {‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘};
 4 void convert(long long y,long long x)
 5 {
 6     if(x!=0)
 7     {
 8         convert(y,x/y);
 9         printf("%c",digits[x%y]);
10     }
11 }
12 int main()
13 {
14     long long a,b;
15     int d;
16     scanf("%lld%lld%d",&a,&b,&d);
17     if(a+b==0)
18         printf("0\n");
19     else
20     {
21         int s=a+b;
22         convert(d,s);
23         printf("\n");
24     }
25
26     return 0;
27 }
时间: 2024-11-01 19:20:02

PAT-乙级-1022. D进制的A+B (20)的相关文章

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

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___________________________ 注意 要用long

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

#include<stdio.h> #include<stdlib.h> int main() { int a,b,D; scanf("%d%d%d",&a,&b,&D); int sum=a+b; if(sum==0) //[caution]特判0的时候 { printf("0"); return 0; } int arr[35]; //不需要用char然后memset,原始是什么都无所谓,都会被冲掉 int i=0

PTA乙级 (1022 D进制的A+B (20分))

1022 D进制的A+B (20分) https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344 解题思路:本题说了a和b值均小于等于2的30次方减一,(2^30-1==1 073 741 823),而整型int占四字节,三十二比特,范围为[-2^31~2^31-1];本题还要考虑若a和b值均为0,则直接输出0. #include <iostream> #include <cstdio>

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

输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数. 输入格式: 输入在一行中依次给出3个整数A.B和D. 输出格式: 输出A+B的D进制数. 输入样例: 123 456 8 输出样例: 1103 要特别注意a+b=0的情况 1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<stdlib.h> 5 in

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

输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数. 输入格式: 输入在一行中依次给出3个整数A.B和D. 输出格式: 输出A+B的D进制数. 输入样例: 123 456 8 输出样例: 1103 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <iostream> 4 #include <string.h> 5 #include &

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

2018-07-28 20:24:39 输入两个非负10进制整数A和B(<=2^30^-1),输出A+B的D (1 < D <= 10)进制数. 输入格式: 输入在一行中依次给出3个整数A.B和D. 输出格式: 输出A+B的D进制数. 输入样例: 123 456 8 输出样例: 1103 #include<stdio.h> int main(){ int a,b,d,sum,j; int i=0; int s[31]={0}; //此处犯得错误是数组的名称不能和你所定义的变量

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

#include <iostream> using namespace std; int main() { long long int a,b,c; int d,i=0; int num[32]; cin>>a>>b>>d; c=a+b; if(c==0) { cout<<"0"<<endl; return 0; } while(c>0) { num[i]=c%d; c=c/d; i++; } for(int

1022. D进制的A+B

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 1 #include<stdio.h> 2 #include&

pat 乙级1022

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 很简单的题目,要注意的是如何把代码写的简介 #include<bit