题目描述
正整数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;
}