PAT 乙級 1016 (方法 + 程式碼)
阿新 • • 發佈:2018-12-15
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<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;
}