统计指定数字的个数,并将其按权值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);
    }

}
}

  

时间: 2024-11-17 06:26:59

统计指定数字的个数,并将其按权值10的次方数相加的相关文章

习题5-5 使用函数统计指定数字的个数 (15分)

本题要求实现一个统计整数中指定数字的个数的简单函数. 函数接口定义: int CountDigit( int number, int digit ); 其中number是不超过长整型的整数,digit为[0, 9]区间内的整数.函数CountDigit应返回number中digit出现的次数. 裁判测试程序样例: #include <stdio.h> int CountDigit( int number, int digit ); int main() { int number, digit;

统计指定数字和

输入一个数字的字符串和一个数字字符(1到9),统计这个数字在字符串中出现的次数,并累加.例如有个字符串是1234321,查找2这个数字,在字符串中出现了2次,所以累计和就是2+2=4 输入格式: 输入2行.第1行是字符串,第2行是要查找的数字. 输出格式: 指定数字出现的累加和 输入样例: 1234321 2 输出样例: 4 n=str(input()) p=str(input()) print(n.count(p)*int(p)) 原文地址:https://www.cnblogs.com/Sk

武汉科技大学ACM :1003: 零起点学算法67——统计字母数字等个数

Problem Description 输入一串字符,统计这串字符里的字母个数,数字个数,空格字数以及其他字符(最多不超过100个字符) Input 多组测试数据,每行一组 Output 每组输出一行,分别是字母个数,数字个数,空格字数以及其他字符个数 Sample Input I am a student in class 1. I think I can! Sample Output 18 1 6 1 10 0 3 1 HINT char str[100];//定义字符型数组 while(g

01: 与指定数字相同的数的个数(1.6)

描述 输出一个整数序列中与指定数字相同的数的个数. 输入输入包含三行: 第一行为N,表示整数序列的长度(N <= 100): 第二行为N个整数,整数之间以一个空格分开: 第三行包含一个整数,为指定的数字m.输出输出为N个数中与m相同的数的个数.样例输入 3 2 3 2 2 样例输出 2 #include<cstdio> int main(){ int n,m; int a[110]; scanf("%d",&n); for (int i=1;i<=n;i

与指定数字相同的数的个数

总时间限制:  1000ms 内存限制:  65536kB 描述 输出一个整数序列中与指定数字相同的数的个数. 输入 输入包含三行:第一行为N,表示整数序列的长度(N <= 100):第二行为N个整数,整数之间以一个空格分开:第三行包含一个整数,为指定的整数m. 输出 输出为N个数中与m相同的数的个数. 样例输入 3 2 3 2 2 样例输出 2 #include<stdio.h> int main() { int n,a[101],b,ans; scanf("%d"

01:与指定数字相同的数的个数

总时间限制:  1000ms 内存限制:  65536kB 描述 输出一个整数序列中与指定数字相同的数的个数. 输入 输入包含三行:第一行为N,表示整数序列的长度(N <= 100):第二行为N个整数,整数之间以一个空格分开:第三行包含一个整数,为指定的整数m. 输出 输出为N个数中与m相同的数的个数. 样例输入 3 2 3 2 2 样例输出 2 #include<stdio.h> int main() { int a=0,b=0,c=0; int shu[100]={0}; scanf

1-6-01:与指定数字相同的数的个数

描述 输出一个整数序列中与指定数字相同的数的个数. 输入 输入包含三行:第一行为N,表示整数序列的长度(N <= 100):第二行为N个整数,整数之间以一个空格分开:第三行包含一个整数,为指定的整数m. 输出 输出为N个数中与m相同的数的个数. 样例输入 3 2 3 2 2 样例输出 2 #include<stdio.h>int main(){    int N,temp[10001]={0},m,s=0,i;    scanf("%d",&N);    fo

题目1156:谁是你的潜在朋友(统计某个数字出现的个数)

题目描述: “臭味相投”——这是我们描述朋友时喜欢用的词汇.两个人是朋友通常意味着他们存在着许多共同的兴趣.然而作为一个宅男,你发现自己与他人相互了解的机会并不太多.幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友.    首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M.同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友.你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友

【华为OJ平台练习题】统计一段字符串中含有空格、英文、数字的个数

//统计一段字符串中含有空格.英文.数字的个数 #include <iostream> using namespace std; void processString(char* s) { int n = strlen(s); int kg=0; int shuzi=0; int yingwen=0; if(n>0) { for(int a=0;a<n;a++) { if(s[a]==' ') kg++; if(s[a]<='9'&&s[a]>='0')