算法题练习系列之(九):部分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; }}
- 算法题练习系列之(九):部分A+B
- 算法题练习系列之(十):A除以B
- 算法题练习系列之(四):A+B和C
- 算法题练习系列之(十五): D进制的A+B
- PAT练习-部分A+B
- 算法题: 部分A+B (15)
- A+B输入输出练习系列 I
- A+B输入输出练习系列II
- 算法题练习系列之(一):守形数
- 算法题练习系列之(二):矩阵最大值
- 算法题练习系列之(三):成绩排序
- 算法题练习系列之(五):数字分类
- 算法题练习系列之(六):数素数
- 算法题练习系列之(七):福尔摩斯的约会
- 算法题练习系列之(八):德才论
- 算法题练习系列之(十一):锤子剪刀布
- 算法题练习系列之(十二): 数字黑洞
- 算法题练习系列之(十三): 月饼
- hdfs文件系统创建文件出错
- Servlet跳转的三种方式
- Solr 安装及配置
- 通向架构师的道路(第十八天)万能框架Spring(一)
- 单片机—数码管静态显示
- 算法题练习系列之(九):部分A+B
- JSTL表达式的使用----标准标签库
- SSnoCD (之一)
- NOIP2015子串
- 通向架构师的道路(第十九天)使用maven构建Spring工程
- Spark的原理
- 关于内存高低地址 以及 数据的存取
- java集合框架03
- Python3学习笔记4-函数,全局变量&局部变量,内置函数