1016 部分A+B (15)(15 分)
正整数A的“D~A~(为1位整数)部分”定义为由A中所有D~A~组成的新整数P~A~。例如:给定A = 3862767,D~A~ = 6,则A的“6部分”P~A~是66,因为A中有2个6。
现给定A、D~A~、B、D~B~,请编写程序计算P~A~ + P~B~。
输入格式:
输入在一行中依次给出A、D~A~、B、D~B~,中间以空格分隔,其中0 < A, B < 10^10^。
输出格式:
在一行中输出P~A~ + P~B~的值。
输入样例1:
3862767 6 13530293 3
输出样例1:
399
输入样例2:
3862767 1 13530293 8
输出样例2:
0
作者: CHEN, Yue
单位: PAT联盟
时间限制: 100ms
内存限制: 64MB
代码长度限制: 16KB
package pat_b;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class PAT_B_1016
{
public static void main(String[] args) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String[] input = in.readLine().split("\\s+");//将输入的数字分隔开
int ad = Integer.valueOf(input[1]);//DA
int bd = Integer.valueOf(input[3]);//DB
long sumA = 0;//PA
long sumB = 0;//PB
for(int i = 0; i < input[0].length(); i++)//计算PA
{
if(input[0].charAt(i) == '0'+ad)
sumA = sumA * 10 + ad;
}
for(int i = 0; i < input[2].length(); i++)//计算PB
{
if(input[2].charAt(i) == '0'+bd)
sumB = sumB * 10 + bd;
}
System.out.println(sumA + sumB);//输出PA+PB
}
}