前言
这道题很简单,轻松搞定!
题目
1016 部分A+B
作者 CHEN, Yue
单位 浙江大学
正整数 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<109。
输出格式:
在一行中输出 PA+PB 的值。
输入样例 1:
3862767 6 13530293 3
输出样例 1:
399
输入样例 2:
3862767 1 13530293 8
输出样例 2:
0
代码
import java.io.*;
class Main{
public static void main(String[] args) throws IOException{
//接收输入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //获取字符输入流
String[] strArr = br.readLine().split(" +"); //读取输入的一行信息,以空格为间隔切割后存储到数组中
//声明变量
int t = 0; //临时变量
int a = Integer.parseInt(strArr[0]); //待测数字a
int b = Integer.parseInt(strArr[2]); //待测数字b
int da = Integer.parseInt(strArr[1]); //要计数的某个数字
int db = Integer.parseInt(strArr[3]); //要计数的某个数字
int pa=0, pb=0, sum=0; //pa为数字da在a中出现的次数,pb同理,sum=pa+pb
//计算
for(;a!=0;a=a/10){ //遍历数字a的每一位
t = a % 10; //取当前a的个位数字
if(t==da) //若是要计数的目标数字
pa = pa*10 + da; //更新pa的值
}
for(;b!=0;b=b/10){ //计算pb
t = b % 10; //取当前b的个位数字
if(t==db) //若是要计数的目标数字
pb = pb*10 + db; //更新pb的值
}
sum = pa + pb;
//输出
System.out.print(sum);
}
}