PAT乙级 1016 部分A+B

简介: PAT乙级 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。

话说,这些题目描述些绕口,建议看他给的例子。

 

 

//1016部分A+B
#include<iostream>
using namespace std;
//传入A,DA,cDA,得到A中DA出现的次数存到cDA中
void countc(int A, int Da, int & cDa);
//传入DA,cDA,返回PA的值
int calcuP(int Da, int cDa);
int main()
{
  int A, DA, B, DB;
  int cDA = 0, cDB = 0;
  cin >> A >> DA >> B >> DB;
  int PA = 0, PB = 0;
  countc(A, DA, cDA);
  countc(B, DB, cDB);
  PA = calcuP(DA, cDA);
  PB = calcuP(DB, cDB);
  cout << PA + PB;
  return 0;
}
 
void countc(int A, int Da, int & cDa)
{
  while (A != 0) {
    int tm = A % 10;
    if (tm == Da) {
      cDa++;
    }
    A /= 10;
  }
}
 
int calcuP(int Da, int cDa) {
  if (Da == 0 || cDa == 0)
    return 0;
  int P = 0;
  for (int i = 0; i < cDa; i++) {
    P += Da;
    Da *= 10;
  }
  return P;
}
相关文章
|
11月前
|
Python
星际争霸之小霸王之小蜜蜂(十三)--接着奏乐接着舞
星际争霸之小霸王之小蜜蜂(十三)--接着奏乐接着舞
|
决策智能
博弈论第十九集总结(“招商引资和战略投资”观后感)
博弈论第十九集总结(“招商引资和战略投资”观后感)
50 0
|
人工智能 BI
PAT甲级生词
M by N matrix M行N列矩阵 decimal system 十进制 1 decimal place 保留小数点后一位 radix 基数,进制,根 fewest intersections最少的结点 factorization因式分解
95 0
SpaceX完成载人猎鹰9火箭静态点火试验,将于2月实现载人升空
一旦2月试验成功,真正的商业载人航天时代便离我们不远了。
363 0
SpaceX载人版龙飞船预定明年1月试飞,或第一个将送宇航员上天
若载人航天计划成功,NASA或将不再需要向俄罗斯交“船票费”。
368 0