PAT乙級Java實現_1016 部分A+B (15) _附詳細解題註釋_16

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
		
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章