PAT乙级 1016. 部分A+B (15)

1016. 部分A+B (15)

时间限制

100 ms

内存限制

65536 kB

代码长度限制

8000 B

判题程序

Standard

作者

CHEN, Yue

正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。

现给定A、DA、B、DB,请编写程序计算PA + PB

输入格式:

输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010

输出格式:

在一行中输出PA + PB的值。

输入样例1:

3862767 6 13530293 3

输出样例1:

399

输入样例2:

3862767 1 13530293 8

输出样例2:

0

 1 #include "stdio.h"
 2 #include"string.h"
 3 #include <stdlib.h>
 4 int main()
 5 {
 6     int i, ca=0,cb=0;
 7     int  DAA=0,DBB=0,DA=1,DB=2;
 8     char A[10]={""},B[10]={""};
 9     scanf("%s %d %s %d",&A,&DA,&B,&DB);
10     for(i=0;i<10;i++)
11     {
12         if(A[i]==DA+‘0‘)
13             ca++;
14         if(B[i]==DB+‘0‘)
15             cb++;
16     }
17     if(ca==0)
18       DAA=0;
19       if(cb==0)
20           DBB=0;
21
22     for(i=0;i<ca;i++)
23         DAA=DAA*10+DA;
24     for(i=0;i<cb;i++)
25         DBB=DBB*10+DB;
26
27     printf("%d\n", DAA+DBB);
28     return 0;
29 }
时间: 2024-11-10 01:06:41

PAT乙级 1016. 部分A+B (15)的相关文章

PAT乙级1016.部分A+B(15 分)

正整数 A 的“D?A??(为 1 位整数)部分”定义为由 A 中所有 D?A?? 组成的新整数 P?A??.例如:给定 8,D?A??=6,则 A 的“6 部分”P?A?? 是 66,因为 A 中有 2 个 6. 现给定 A.D?A??.B.D?B??,请编写程序计算 P?A??+P?B??. 输入格式: 输入在一行中依次给出 A.D?A??.B.D?B??,中间以空格分隔,其中 0. 输出格式: 在一行中输出 P?A??+P?B?? 的值. 输入样例 1: 3862767 6 1353029

PAT 乙级 1016

1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 5 int main() { 6 int a = 0, da = 0; 7 int b = 0, db = 0; 8 cin >> a >> da >> b >> db; 9 int cnta = 0, cntb = 0; 10 int chu = a, yu = 0; 11 while (chu >

PAT:1016. 部分A+B (15) AC

当做字符串处理#include<stdio.h> #include<string.h> int main() { char A[120],B[120],ca,cb; int iA=0,iB=0; scanf("%s %c %s %c",A,&ca,B,&cb); int lenA=strlen(A),lenB=strlen(B); int addA=0,addB=0; while(lenA!=-1) //遍历每一位,是目标数就处理 { int t

PAT乙级-1056. 组合数的和(15)

给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字.要求所有可能组合出来的2位数字的和.例如给定2.5.8,则可以组合出:25.28.52.58.82.85,它们的和为330. 输入格式: 输入在一行中先给出N(1<N<10),随后是N个不同的非0个位数字.数字间以空格分隔. 输出格式: 输出所有可能组合出来的2位数字的和. 输入样例: 3 2 8 5 输出样例: 330 分析:两位数,根据排列组合,每个数出现(n-1)次个位 , (n-1)次十位 sum=(a*10+a)*

PAT 乙级真题 1006.1016.部分A+B

PAT 乙级真题 1006.1016.部分A+B 题目描述 正整数A的"DA(为1位整数)部分"定义为由A中所有DA组成的新整数PA.例如:给定A = 3862767,DA = 6,则A的"6部分"PA是66,因为A中有2个6. 现给定A.DA.B.DB,请编写程序计算PA + PB. 输入格式 输入在一行中依次给出A.DA.B.DB,中间以空格分隔,其中0 < A, B < 1010. 输出格式 在一行中输出PA + PB的值. 输入样例 386276

PAT乙级15分题易错题总结

PAT乙级15分题易错题总结 B1026 程序运行时间 输入格式: 输入在一行中顺序给出 2 个整数 C1 和 C2.注意两次获得的时钟打点数肯定不相同,即 C1 < C2,并且取值在 [0,107]. 输出格式: 在一行中输出被测函数运行的时间.运行时间必须按照 hh:mm:ss(即2位的 时:分:秒)格式输出:不足 1 秒的时间四舍五入到秒. 输入样例: 123 4577973 输出样例: 12:42:59 易忽略细节 在计算时,未能正确四舍五入,除100以后余数只要不为零都进位1.//er

PAT (Basic Level) Practise (中文) 1016. 部分A+B (15)

1016. 部分A+B (15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 正整数A的"DA(为1位整数)部分"定义为由A中所有DA组成的新整数PA.例如:给定A = 3862767,DA = 6,则A的"6部分"PA是66,因为A中有2个6. 现给定A.DA.B.DB,请编写程序计算PA + PB. 输入格式: 输入在一行中依次给出A.DA.B.DB,中间以空格分隔,其中0

PAT乙级1034. 有理数四则运算(20)

本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0. 输出格式: 分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和.差.积.商.注意输出的每个有理数必须是该有理数的最简形式“k a/b”,其中k是整数部分,a/b是最简分数部分:若为负数,则须加括号:若除法分母为0,则输出“Inf”.题目保证正确的输出中没

PAT 乙级 1045

题目 题目地址:PAT 乙级 1045 题解 本题的解法比较巧妙,刚开始的试着用暴力求解,果不其然时间超限-- 变换思路,既然对于每个元素来说满足的条件是前小后大,那么对数组排序,对应的位置相等的即为题设要求的"可能主元",但是还有一个条件要保证当前是从左向右遍历的最大值:总结一下两个条件:1. 排序后对应位置数字相等:2. 当前操作元素是从左向右遍历中的最大值 同时还要注意,当输入n值为0时,除了需要输出"可能主元"的个数之外,还需要保留换行符'\n' 代码 1