PAT B1016 -- 部分A+B

牛客網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;
}

發佈了46 篇原創文章 · 獲贊 23 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章