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

现给定A,D,B,D,请编写程序计算P+PB。

输入格式:

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

输出格式:

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

输入样例 1:

  1. 3862767 6 13530293 3

输出样例 1:

  1. 399

输入样例 2:

  1. 3862767 1 13530293 8

输出样例 2:

  1. 0
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <string>
  4. using namespace std;
  5. int jc(int n){
  6. if(n==){
  7. return ;
  8. }
  9. int x=,i=;
  10. for(;i<n;i++){
  11. x=x*;
  12. }
  13. return x;
  14. }
  15. int main()
  16. {
  17. string a,b;
  18. int c,d;
  19. cin>>a>>c>>b>>d;
  20. int n=,i=,m=;
  21. int le=a.length(),ln=b.length();
  22. for(i=;i<le;i++){
  23. if((a[i]-'')==c)
  24. {
  25.  
  26. m=m+c*jc(n);
  27. n+=;
  28. }
  29. }
  30. n=;
  31. int x=;
  32. for(i=;i<ln;i++){
  33. if((b[i]-'')==d)
  34. {
  35.  
  36. x=x+d*jc(n);
  37. n+=;
  38. }
  39. }
  40. printf("%d\n",m+x);
  41. return ;
  42. }

C++版的确实效率够高,4 ms时间足够,但是它代码量确实大啊

  1. a,b,c,d=input().split()
  2. e,f=0,0
  3. for i in range(len(a)):
  4. if a[i]==b:
  5. e+=1
  6. for i in range(len(c)):
  7. if c[i]==d:
  8. f+=1
  9. g,h=0,0
  10. for i in range(e):
  11. g+=int(b)*10**i
  12. for i in range(f):
  13. h+=int(d)*10**i
  14. print(g+h)

同样的思路,Python的代码量就是C++的1/3了,但是效率和占用内存就惨不忍睹了,各有千秋。看来确实没有最好的语言,只有最适合的语言!

PAT 部分A+B的更多相关文章

  1. 《转载》PAT 习题

    博客出处:http://blog.csdn.net/zhoufenqin/article/details/50497791 题目出处:https://www.patest.cn/contests/pa ...

  2. PAT Judge

    原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/677 题目如下: The ranklist of PAT is generated fr ...

  3. PAT/字符串处理习题集(二)

    B1024. 科学计数法 (20) Description: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+ ...

  4. PAT 1041. 考试座位号(15)

    每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座 ...

  5. PAT 1040. 有几个PAT(25)

    字符串APPAPT中包含了两个单词"PAT",其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问 ...

  6. PAT 1032. 挖掘机技术哪家强(20)

    为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第1行给出不超过105的正整数N,即参赛人数.随后N行,每行给出一位 ...

  7. pat甲级题解(更新到1013)

    1001. A+B Format (20) 注意负数,没别的了. 用scanf来补 前导0 和 前导的空格 很方便. #include <iostream> #include <cs ...

  8. PAT (Basic Level) Practise 1040 有几个PAT(DP)

    1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...

  9. PAT (Basic Level) Practise 1045 快速排序(离散化+主席树区间内的区间求和)

    1045. 快速排序(25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 著名的快速排序算法里有一个经典的划分 ...

  10. PAT——乙级真题1003代码

    #include<iostream> #include<string> using namespace std; int getLength(string str0); int ...

随机推荐

  1. react 动态渲染echarts折线图,鼠标放大缩小

    //折线图组件import React,{Component} from 'react'; import ReactEcharts from 'echarts-for-react'; class Ec ...

  2. 修改jupyter默认保存文件的目录

    1.打开 Anaconda Prompt输入命令 jupyter notebook --generate-config 2.可以看到生成了目录及jupyter notebook的配置文件,打开该文件. ...

  3. $releasever 不正确解析

    [nginx] gpgcheck=0 baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ name=nginx repo 这 ...

  4. jQuery下实现等待指定元素加载完毕(可改成纯js版)

    http://www.poluoluo.com/jzxy/201307/233374.html 代码如下: jQuery.fn.wait = function (func, times, interv ...

  5. SpringBoot之整合MongoDB

    MongoDB官网安装:https://www.mongodb.com/download-center/community MongoDB客户端工具(Mongo Management Studio)安 ...

  6. 自己写的vue底导航

    <template> <div id="app"> <div class="tabbar"> <div class=& ...

  7. centos8.0安装docker & docker-compose

    centos8.0安装docker&docker-compose 背景简介: 现在centos已经到了8 ,一直在接触容器方面,为了尝鲜,下载了CentOS8,并尝试安装docker& ...

  8. kali中安装漏洞靶场Vulhub(超详细)

    前言 我们都知道,在学习网络安全的过程中,搭建漏洞靶场有着至关重要的作用.复现各种漏洞,能更好的理解漏洞产生的原因,提高自己的学习能力.下面我在kali中演示如何详细安装漏洞靶场Vulhub. 什么是 ...

  9. 11_ArrayList集合的方法

    class Program { static void Main(string[] args) { //数组:长度不可变,类型单一 //ArrayList集合:长度可以任意改变,类型可以不单一 //创 ...

  10. MySQL性能分析(Explain)

    更多知识,请移步我的小破站:http://hellofriend.top 1. 概述 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的.分析你的查 ...