首页 > 试题广场 >

1016. 部分A+B (15)

[编程题]1016. 部分A+B (15)
  • 热度指数:29571 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
正整数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的值。
示例1

输入

3862767 6 13530293 3

输出

399
A,B,C,D = input().split()
E = A.count(B) * B
E = eval(E) if E else 0
F = C.count(D) * D
F = eval(F) if F else 0
print(E+F)

编辑于 2019-08-27 21:24:36 回复(0)
###python代码 
A,Da,B,Db=map(int,input().split())
ls1=list(str(A))
ls2=list(str(B))
str1='0'
str2='0'
for i in range(len(ls1)):
    if int(ls1[i]) == Da:
        str1=str1+str(Da)
for i in range(len(ls2)):
    if int(ls2[i]) == Db:
        str2=str2+str(Db)
Pa=int(str1)
Pb=int(str2)
print(Pa+Pb)


发表于 2019-07-13 21:35:37 回复(0)
from collections import  Counter  #序列计数
def to_num(c,c_num):
    num=0
    for i in range(c_num):
        num=num*10+int(c)
    return num
def function():
    str1,s1,str2,s2=input().split()
    word_counter1=Counter(str1)
    c_num1=word_counter1[s1]
    word_counter2=Counter(str2)
    c_num2=word_counter2[s2]
    num1=to_num(s1,c_num1)
    num2=to_num(s2,c_num2)
    print(num1+num2)
if __name__ == '__main__':
    function()
发表于 2019-05-13 00:29:02 回复(0)
import re
import string

PA,PB = 0,0
listI = [i for i in input().split()]
A = listI[0]
DA = listI[1]
B = listI[2]
DB = listI[3]
Da = int(DA)
Db = int(DB)

pattern = re.compile(DA)
numDA = len(pattern.findall(A))
pattern = re.compile(DB)
numDB = len(pattern.findall(B))
for i in range(numDA):
    PA = PA + Da * (10**(i))
for i in range(numDB):
    PB = PB + Db * (10**(i))
SUM = PA+ PB
print(SUM)

发表于 2019-03-08 09:04:35 回复(0)
思路简单
n=[int(n) for n in input().split(' ')];
c1=str(n[0]).count(str(n[1]));
c2=str((n[2])).count(str(n[3]));
a=0;b=0;
for i in range(c1):
    a+=n[1]*10**i;
for i in range(c2):
    b+=n[3]*10**i;
print(a+b)

发表于 2019-03-01 19:34:53 回复(0)
a,a1,b,b1 = input().strip().split()
n1 = a.count(a1)
n2 = b.count(b1)
A = int(n1*a1) if n1!=0 else 0
B = int(n2*b1) if n2!=0 else 0
print(A+B)
编辑于 2018-11-01 19:34:52 回复(0)
A=list(map(int,input().split()))
B=[str(i) fori in A]
c=int(B[0].count(B[1]))
d=int(B[2].count(B[3]))
a,b=0,0
fori in range(c):
    a+=(10**i)*A[1]
forj in range(d):
    b+=(10**j)*A[3]
print(a+b)

发表于 2018-03-12 21:43:11 回复(0)
a,da,b,db=raw_input().split(' ')
nda,ndb=a.count(da),b.count(db)
def get_num(s,n):
    if n!=0:
        return int(s*n)
    else:
        return 0
print get_num(da,nda)+get_num(db,ndb)


发表于 2018-01-05 11:06:51 回复(0)
a, d_a, b, d_b = input().split()


def get_p(digit, d):
    p = ''
    for num in digit:
        if num == d:
            p += num
    if p == '':
        p = 0
    else:
        p = int(p)
    return p


p_a = get_p(a, d_a)
p_b = get_p(b, d_b)

print(p_a + p_b)

发表于 2017-11-10 11:33:11 回复(0)

python两行

注意的是,数出来可能是0个,所以要or "0"来处理为空的情况。

a, b, c, d = input().split()
print(int(a.count(b) * b or "0") + int(c.count(d) * d or "0"))
编辑于 2019-03-03 19:21:20 回复(0)
#!/usr/bin/env python
#-*- coding:utf8 -*-
def findNum(s1, a, s2, b):
    n1, n2 = 0, 0
    for i in s1:
        if i == a:
            n1 = n1 *10 + 1

    for i in s2:
        if i == b:
            n2 = n2 *10 + 1

    n1 *= int(a) 
    n2 *= int(b)
    return n1+n2

if __name__ == '__main__':
    s1, a, s2, b = raw_input().split()
    print findNum(s1, a, s2, b)


发表于 2017-08-07 11:51:55 回复(0)
# coding:utf-8

s = raw_input()

a, aa, b, bb = tuple(s.split(' '))

ai = a.count(aa)

bi = b.count(bb)

result = int('0' + aa * ai) + int('0' + bb * bi)

print result
发表于 2017-04-21 13:47:19 回复(0)
 try:
    while True:
        t = raw_input().split()
        a, da, b, db = t[0], t[1], t[2], t[3]
        n1, n2 = a.count(da), b.count(db)
        r1, r2 = da*n1, db*n2
        if r1 and r2:
            print int(r1)+int(r2)
        elif r1:
            print r1
        elif r2:
            print r2
        else:
            print 0
except EOFError:
    pass
人生苦短,我用Python
发表于 2016-11-03 16:16:11 回复(0)
try:
    while True:
        t = raw_input().split()
        a, da, b, db = t[0], t[1], t[2], t[3]
        n1, n2 = a.count(da), b.count(db)
        r1, r2 = da*n1, db*n2
        if r1 and r2:
            print int(r1)+int(r2)
        elif r1:
            print r1
        elif r2:
            print r2
        else:
            print 0
except EOFError:
    pass
人生苦短,我用Python
发表于 2016-10-29 20:43:55 回复(0)

问题信息

难度:
16条回答 22950浏览

热门推荐

通过挑战的用户