PAT Basic level practice 16
来源:互联网 发布:c语言原子锁 编辑:程序博客网 时间:2024/05/22 06:21
1016. 部分A+B (15)
正整数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
C++:
#include<iostream>
using namespace std;
#include<string>
#include<cstdlib>
int main()
{
char pA[100], pB[100];
char A, B;
cin >> pA >> A >> pB >> B;
int cnt1 = 0, cnt2 = 0;
for (int i = 0; pA[i] != '\0'; i++)
{
if (pA[i] == A)
cnt1++;
}
for (int i = 0; pB[i] != '\0'; i++)
{
if (pB[i] == B)
cnt2++;
}
int a1 = A - '0';
int a2 = B - '0';
int sum1 = 0,sum2 = 0;
while (cnt1 != 0)
{
int y = 1;
for (int i = 0; i < cnt1-1; i++)
y = y * 10;
sum1 += y*a1;
cnt1--;
}
while (cnt2 != 0)
{
int y = 1;
for (int i = 0; i < cnt2-1; i++)
y = y * 10;
sum2 += y*a2;
cnt2--;
}
cout << sum1 + sum2;
system("Pause");
}
评测结果
测试点
- PAT Basic level practice 16
- PAT Basic level practice 02
- PAT Basic level practice 03
- PAT Basic level practice 04
- PAT Basic level practice 05
- PAT Basic level practice 06
- PAT Basic level practice 06
- PAT Basic level practice 08
- PAT Basic level practice 10
- PAT Basic level practice 11
- PAT Basic level practice 12
- PAT Basic level practice 13
- PAT Basic level practice 14
- PAT Basic level practice 15
- PAT Basic level practice 17
- PAT Basic level practice 18
- PAT Basic level practice 21
- PAT Basic level practice 21
- 三种线性排序算法 计数排序、桶排序与基数排序
- SpannableStringBuilder 和 SpannableString
- python copy and deeepcopy
- HTTPS 是怎么加密的
- ural 2034. Caravans
- PAT Basic level practice 16
- 设计模式实践(一)单例模式(Singleton)
- java-容器
- 【Unity】Unity3D在Android平台使用嵌入式数据库Sqlite,解决无法找到数据库文件的问题
- ligerUI form表单里的filed的类型根据另外个filed的值改变而改变
- android 休眠唤醒机制分析(二)
- Toast和Dialog
- 第6章 系统数据文件和信息
- 3172 Virtual Friends【并查集】