乙级(Basic Level) 1006

题目描述

正整数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

Python
方案一:
a = input().split() m = a[0].count(a[1]) n = a[2].count(a[3]) result = 0 for i in range(m): result += int(a[1])*10**i for i in range(n): result += int(a[3])*10**i print(result)

方案二:
a, b, c, d = input().split()
print(int(a.count(b) * b or "0") + int(c.count(d) * d or "0"))
# 利用技巧 4*‘1’=‘1111’   int(‘1111’)=11111

 

C:
#include <stdio.h>
#include<string.h>

int main(){
    char a[100],c[100],b,d;
    int i,m=0,n=0;
    scanf("%s %c %s %c",&a,&b,&c,&d);
    for(i=0;i<strlen(a);i++){
        if(a[i] == b)
            m = m*10 + b - '0';
    }
    for(i=0;i<strlen(c);i++){
        if(c[i] == d)
            n = n*10 + d - '0';
    }
    printf("%d",m+n);
    return 0;
}

 

  

posted @ 2018-07-29 12:28  黄冠积  阅读(183)  评论(0编辑  收藏  举报