PTA乙级1016(c++和python3)
题目信息:
正整数 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<10*10。
输出格式:
在一行中输出 PA+PB的值。
python3
list1 = list(map(str, input().strip().split()))
a = int(list1[1])
b = int(list1[3])
count1 = ""
for i in list1[0]:
if int(i) == a:
count1 += i
count2 = ""
for i in list1[2]:
if int(i) == b:
count2 += i
if count1 != "" and count2 != "":
print(int(count1) + int(count2))
elif count1 == "" and count2 != "":
print(count2)
elif count1 != "" and count2 == "":
print(count1)
elif count1 == "" and count2 == "":
print(0)
c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
string a1 = to_string(a);
string b1 = to_string(c);
string e = "";
string f = "";
for(int i = 0; i < a1.length(); i++)
{
int aa1 = a1[i] - '0';
if(aa1 == b)
{
e += a1[i];
}
}
for(int i = 0; i < b1.length(); i++)
{
int bb1 = b1[i] - '0';
if(bb1 == d)
{
f += b1[i];
}
}
int result1 = 0;
int result2 = 0;
if(e != "")
result1 = stoi(e);
if(f != "")
result2 = stoi(f);
cout<<result1 + result2<<"\n";
system("pause");//测试用
return 0;
}