1. 程式人生 > >PAT 乙級 1016 (方法 + 程式碼)

PAT 乙級 1016 (方法 + 程式碼)

1016 部分A+B (15 分)

正整數 A 的“D​A(為 1 位整數)部分”定義為由 A 中所有 DA組成的新整數 PA​​ 。例如:給定 A=3862767,D​A​​ =6,則 A 的“6 部分”PA​ 是 66,因為 A 中有 2 個 6。

現給定 A、D​A​​ 、B、D​B​ ,請編寫程式計算 PA+PB。

輸入格式:

輸入在一行中依次給出 A、DA​​ 、B、DB​​ ,中間以空格分隔,其中 0<A,B<10^​10​​ 。

輸出格式:

在一行中輸出 PA​​ +PB​​ 的值。

輸入樣例 1:

3862767 6 13530293 3

輸出樣例 1:

399

輸入樣例 2:

3862767 1 13530293 8

輸出樣例 2:

0

解題思路:

C++版

用累乘的思路去解決

#include<iostream>//15.31~15.36
#include<stdlib.h>
#include<string>

using namespace std;

int main()
{
	string ch1,ch2;
	int ch11 = 0,ch22 = 0;
	char a,b;
	cin>>ch1>>a>>ch2>>b;

	for(int i = 0; i < ch1.length
(); i++ ) { if(ch1[i] == a) ch11 = ch11 * 10 + (a - '0'); } for(int i = 0; i < ch2.length(); i++ ) { if(ch2[i] == b) ch22 = ch22 * 10 + (b - '0'); } cout<<ch11 + ch22; system("pause"); return 0; }