pat——乙级1016(代码片段)

albert-yzp albert-yzp     2023-01-16     750

关键词:

乙级PAT的1016

乙级的题相对比较简单,我也是主要联系写代码的格式,而不是联系算法。

1016 部分A+B (15 point(s))

正整数 A 的“D?A??(为 1 位整数)部分”定义为由 A 中所有 D?A?? 组成的新整数 P?A??。例如:给定 A=3862767,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<A,B<10?10??。

输出格式:

在一行中输出 P?A??+P?B?? 的值。

输入样例 1:

3862767 6 13530293 3

输出样例 1:

399

输入样例 2:

3862767 1 13530293 8

输出样例 2:

0

 

我写的代码是

 

#include<cstdio>
int main()

    int A, DA, B, DB, PA=0, PB=0;
    int bit;
    scanf("%d%d%d%d", &A, &DA, &B, &DB);
    while (A||B)
    
        bit = A % 10;
        A = A / 10;
        if (bit == DA) PA = PA * 10 + DA;
        bit = B % 10;
        B = B / 10;
        if (bit == DB) PB = PB * 10 + DB;
    
    printf("%d", PA + PB);
    return 0;

 

 其中cstdio是stdio.h的C++版本。

我写的算法复杂度好像还比教材上的好,教材上分别多A和B进行遍历,我这个遍历次数较长的那个数,即便较短的那个数遍历完了,继续遍历也只是0,并不影响结果。嘿嘿嘿

不过教材上定义A,B,PA,PB都是用的long long,我觉得没有必要,题目上没说,我用的int也过了。

还有一个问题,就是

VS点本地调试的时候控制器窗口总是一闪而过。不像VC那样按任意键继续,我就google了一下。

用只运行不调试就好。

技术分享图片

之后如果要用,按ctrl+F5也行。也可以把这个弄到工具栏里。

1,点这样的小三角

技术分享图片

2、添加或移除按钮->自定义

然后再文本编辑器里添加命令

 技术分享图片

3、找到  调试->开始执行(不调试)

技术分享图片

确定关闭就好了,就在工具栏里了,用着比较方便

技术分享图片

 

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、 查看详情

乙级pat1016-1020答案详解与重要知识点(2021.9.27-2021.10.2)(代码片段)

文章目录101610171018101910201016#include<bits/stdc++.h>usingnamespacestd;intmain()stringa,b;intd1,d2;intn1,n2;intp1,p2;n1=n2=0;p1=p2=0;cin>>a>>d1;cin>>b> 查看详情

pat乙级1016(代码片段)

1016部分A+B(15分)输入样例138627676135302933输出样例1399输入样例238627671135302938输出样例20我的理解这个思路也挺直观的,找出字符串中给定重复字符的个数,然后构造数字,相加即可。因为要找到字符串中重复的字符,所以使用string... 查看详情

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。输入格式输入... 查看详情

pat乙级1016.部分a+b(15)

1016.部分A+B(15)时间限制100ms内存限制65536kB代码长度限制8000B判题程序Standard作者CHEN,Yue正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A=3862767,DA =6,则A的“6部分”PA是66,因为A中... 查看详情

pat乙级1038(代码片段)

题目链接https://pintia.cn/problem-sets/994805260223102976/problems/994805284092887040题解一这份代码最后一个点会超时//PATBasicLevel1038//https://pintia.cn/problem-sets/994805260223102976/problems/994805284092887040#inclu 查看详情

pat乙级1003(代码片段)

题目  题目地址:PAT乙级1003 题解  规律观察题,本题的关键在于把题读懂,同时还有几个比较容易疏忽的地方需要注意;总之这道题要考虑的东西更多,细节上也要特别注意;  规律:“如果 aPbTc&nb... 查看详情

pat乙级1040有几个pat(25分)(代码片段)

题目地址#include<cstdio>#include<cstring>constintMAXN=100010;constintMOD=1000000007;charstr[MAXN];//字符串intleftNump[MAXN]=0;//每一位左边含p的个数intmain() scanf("%s",str); intlen& 查看详情

pat乙级1045(代码片段)

题目   题目地址:PAT乙级1045 题解   本题的解法比较巧妙,刚开始的试着用暴力求解,果不其然时间超限……   变换思路,既然对于每个元素来说满足的条件是前小后大,那么对数组排序,... 查看详情

pat乙级1017(代码片段)

题目  题目地址:PAT乙级1017 题解  粗看是一道大数除法题,实际上只不过是通过字符数组模拟除法过程,理解之后还是比较简单的;  具体分析一下本题;  因为题设中的除数(n)是一位整数,因... 查看详情

pat乙级1085pat单位排行(25分)(代码片段)

题目地址#include<cstdio>#include<iostream>#include<cmath>#include<map>#include<algorithm>#include<string>#include<vector>usingnamespacestd;structnode intA; intB; 查看详情

pat乙级1033(代码片段)

题目题目地址:https://pintia.cn/problem-sets/994805260223102976/problems/994805288530460672 题解   本题一直有一分的样例点过不了,原因在于用了cin接收输入的字符……   问题在于:如果用cin输入,无法接收无坏键的... 查看详情

pat乙级1014(代码片段)

  本题主要还是考验细致程度,需要把各种情况考虑到、题审清楚1#include<iostream>2#include<string>3usingnamespacestd;45intmain()6stringstr[4];7for(inti=0;i<4;i++)8getline(cin,str[i]);9intstr_1=0,str_2=0;10str_1=str[0 查看详情

pat乙级1019(代码片段)

  本题没有考虑到小于1000的情况,当小于1000的时需要给vector的向量中推入0,直到向量中有四位数字,之后再进行排序并进行相关计算 1#include<iostream>2#include<algorithm>3#include<vector>4#include<cmath>5usingnamespacestd... 查看详情

pat乙级1023(代码片段)

1#include<iostream>2usingnamespacestd;34intmain()5intnum[10]=0;6for(inti=0;i<10;i++)7cin>>num[i];8for(inti=1;i<10;i++)9if(num[i]!=0)10cout<<i;11num[i]--;12break;131415fo 查看详情

pat乙级1013(代码片段)

  还是审题没把范围看清楚,没一次AC  题中m和n都表示第几个素数,范围是10000,所以查询的数组中需要的素数量至少10000,所以需要计算大概2~120000的整数才能查到10000个素数#include<iostream>#include<cmath>#include<vector... 查看详情

pat乙级1095解码pat准考证(25分)(代码片段)

题目地址#include<cstdio>#include<iostream>#include<algorithm>#include<string>#include<vector>#include<map>#include<unordered_map>usingnamespacestd;intn,m;constint 查看详情

pat乙级1012(代码片段)

  最后一个测试点怎么也过不了,问题在于A2的判断,不能单纯地以0作为判断条件;假设满足A2条件的只有两个数6和6,计算结果仍然是0,但是输出A2的值是0不是‘N‘,因此需要给A2加一个计数变量作为判断条件#include<iostrea... 查看详情