*1022. D进制的A+B【考前最后一道题】

 1 /*
 2 *Main.c
 3 *1022. D进制的A+B    Ver.1
 4 *Created on : 2014.9.5
 5 *****测试通过******
 6 */
 7
 8 #include <stdio.h>
 9 #include <stdlib.h>
10
11 void cal1(int sum, int D);
12
13 int main(void){
14
15     int A, B, sum;//题目中的A、B
16     int D;
17
18     scanf_s("%d %d %d", &A, &B, &D);
19
20     sum = A + B;
21
22     cal1(sum, D);
23     printf("\n");
24
25     system("pause");
26     return 0;
27
28 }
29
30 void cal1(int sum, int D){
31
32     if (sum / D != 0){
33         cal1(sum / D, D);
34     }
35     printf("%d", sum%D);
36 }

 1 /*
 2 *Main.c
 3 *1022. D进制的A+B      Ver.2
 4 *Author : Boomkeeper
 5 *Created on : 2014.9.5
 6 *****部分通过****
 7 */
 8
 9 #include <stdio.h>
10 #include <stdlib.h>
11
12 void cal2(int sum, int D);
13
14 int main(void){
15
16     int A, B, sum;//题目中的A、B
17     int D;
18
19     scanf("%d %d %d", &A, &B, &D);
20
21     sum = A + B;
22
23     cal2(sum, D);
24     printf("\n");
25
26     system("pause");
27     return 0;
28
29 }
30
31 void cal2(int sum, int D){
32
33     int array[100];
34     int i = 0;
35
36     while (sum != 0){
37         array[i++] = sum%D;
38         sum /= D;
39     }
40
41     if (array[i - 1] == 0)
42         i = i - 2;
43     else
44         i = i - 1;
45     while (i >= 0){
46         printf("%d", array[i]);
47         i--;
48     }
49 }
50     

明天奔赴考场,今晚最后一题练手,希望顺利!

同祝“PATers”凯旋!

(话说从Eclipse转到VS上真是憋手蹩脚%>_<%)

题目链接:

http://pat.zju.edu.cn/contests/pat-b-practise/1022

参考:

http://blog.csdn.net/janestar/article/details/28632193

时间: 2024-10-18 23:21:15

*1022. D进制的A+B【考前最后一道题】的相关文章

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. 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)

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,然后写个函数表

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>

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 &

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)(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 分)

输入两个非负 10 进制整数 A 和 B (≤2?30???1),输出 A+B 的 D (1<D≤10)进制数. 输入格式: 输入在一行中依次给出 3 个整数 A.B 和 D. 输出格式: 输出 A+B 的 D 进制数. 输入样例: 123 456 8 输出样例: 1103 #include<iostream> using namespace std; int main(){ int a,b,d,i; cin>>a>>b>>d; int n=a+b;

PAT 1022 D进制的A+B

输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数. 输入格式: 输入在一行中依次给出 3 个整数 A.B 和 D. 输出格式: 输出 A+B 的 D 进制数. 输入样例: 123 456 8 输出样例: 1103 1 #include <cstdio> 2 int main(void){ 3 int a,b,c; 4 scanf("%d%d%d",&a,&b,&c); 5 int sum1; 6 int sumc[