算法题练习系列之(九):部分A+B

来源:互联网 发布:光怪兽普利茨墨淘宝 编辑:程序博客网 时间:2024/05/17 02:46

--------------------------------------------------------------------------------------------------------------------------------------------------------

时间限制:1秒  空间限制:32768K  代码长度限制 100 KB

--------------------------------------------------------------------------------------------------------------------------------------------------------

题目描述

正整数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 < 1010
输出描述:
在一行中输出PA + PB的值。
输入例子:
3862767 6 13530293 3
输出例子:
399

--------------------------------------------------------------------------------------------------------------------------------------------------------

实现思路:

(1).将A、B转换为字符数组,统计DA、DB出现的次数;

(2).将统计次数转换为整型数字进行相加即可。

--------------------------------------------------------------------------------------------------------------------------------------------------------

import java.util.Scanner;public class Main_a1_006 {    public static void main(String[] args) {        Scanner scan = new Scanner(System.in);        while(scan.hasNext()){            String a = scan.next();            int da = scan.nextInt();            String b = scan.next();            int db = scan.nextInt();            System.out.println(dealPNum(a,da,b,db));        }    }        public static long dealPNum(String a,int da,String b,int db){        char[]charA = a.toCharArray();        char[]charB = b.toCharArray();        char daC = (char)(da + 48);        char dbC = (char)(db + 48);        int aCount = 0;        int bCount = 0;        for (int i = 0; i < charA.length; i++) {            if(charA[i] == daC){                aCount++;            }        }        for (int i = 0; i < charB.length; i++) {            if(charB[i] == dbC){                bCount++;            }        }        long pa = 0;        if(aCount > 0){            String strA = "";            for (int i = 0; i < aCount; i++) {                strA = strA + da;            }            pa = Long.parseLong(strA);        }        long pb = 0;        if(bCount > 0){            String strB = "";            for (int i = 0; i < bCount; i++) {                strB = strB + db;            }            pb = Long.parseLong(strB);        }        return pa + pb;    }}


原创粉丝点击