牛客網PAT乙級第六題,部分A+B,題目描述大致如下:
正整數A的DA(A的一位整數),A中所有DA會組成一個新的數叫做PA,eg. A=3862767,DA=6,則PA=66
在一行中輸入A,DA,B,DB,空格分隔,其中0<A,B<10^10,輸出PA+PB
題目要求的輸入輸出如下:
代碼如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string strA, strB;
char chA, chB;
int sum1 = 0, sum2 = 0;
int count1 = 0, count2 = 0;
int num1 = 1, num2 = 1;
while (cin >> strA >> chA >> strB >> chB)
{
for (int i = 0; i < strA.size(); i++)
{
if (strA[i] == chA)
{
if (count1 == 0)
{
sum1 += chA - 48;
count1++;
}
else
{
num1 *= 10;
sum1 += num1 * (chA - 48);
count1++;
}
}
}
for (int j = 0; j < strB.size(); j++)
{
if (strB[j] == chB)
{
if (count2 == 0)
{
sum2 += chB - 48;
count2++;
}
else
{
num2 *= 10;
sum2 += num2 * (chB - 48);
count2++;
}
}
}
cout << sum1 + sum2 << endl;
}
return 0;
}