首页 > 代码库 > 统计指定数字的个数,并将其按权值10的次方数相加
统计指定数字的个数,并将其按权值10的次方数相加
题目描述:
正整数A的"DA(为一位整数)部分"定义由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的值
如图,就是查询第一个整数中6的个数,2,再变成66;查询第二个整数3的个数,3,再变成333
再相加66+333=399
分析:本题要利用到两个知识点:(1)统计一个整数中,指定的一个数字的个数。(2)把指定的数字,按权值10的次方数相加。
import java.util.*;public class Main2{ public static void main(String[] args){ Scanner cin=new Scanner(System.in); int A=0; int B=0; int countA=0;//统计DA的个数 int countB=0;//统计DB的个数 int PA=0; int PB=0; int DA=0; int DB=0; while(cin.hasNext()){ A=cin.nextInt(); DA=cin.nextInt(); while(A>0){ if(A%10==DA){//用A%10可以获得A的一位 countA++; } A=A/10;//每%计算一次之后,把A缩小规模 } while(countA>=1){ PA+=DA*(Math.pow(10,countA-1)); countA--; } B=cin.nextInt(); DB=cin.nextInt(); while(B>0){ if(B%10==DB){ countB++; } B=B/10; } while(countB>=1){ PB+=DB*(Math.pow(10,countB-1)); countB--; } System.out.println(PA+PB); } }}
统计指定数字的个数,并将其按权值10的次方数相加
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。