PAT 1108 1107 1106 1104 1103 1102 1101 1100 1099 1098

1108 

str = input()

numS = str.count("S")
numt = str.count("t")
numr = str.count("r")
numi = str.count("i")
numn = str.count("n")
numg = str.count("g")

while numS or numt or numr or numi or numn or numg :
    if numS: 
        print("S",end="") 
        numS-=1
    if numt: 
        print("t",end="") 
        numt-=1
    if numr: 
        print("r",end="")
        numr-=1
    if numi: 
        print("i",end="")
        numi-=1
    if numn: 
        print("n",end="")
        numn-=1
    if numg: 
        print("g",end="")
        numg-=1
# print("\n")

1107

n,m = [int(i) for i in input().split()]
res = []
for i in range(n):
    ls = [int(i) for i in input().split()]
    res.append(max(ls))
print(res[0],end="")
for i in res[1:]:
    print(" %d"%i,end="")
print()
print(max(res))

1106

n = int(input())
res = [2,0,1,9]
if n <= 4 : 
    res = [str(i) for i in res]
    print("".join(res[0:n]))
else:
    n -= 4
    while n > 0:
        res.append(sum(res[-4:])%10)
        n-=1
    res = [str(i) for i in res]
    print("".join(res))
    
    

1104,最后一个测试会超时,python感觉就是过不了。用C++写吧

import math

def gcd(a,b):
    c = a%b
    while c:
        a = b
        b = c
        c = a%b
    return b
vis = [0]*100
prime = []
cnt = 0
for i in range(2,100):
    if vis[i] == 0:
        prime.append(i)
        cnt+=1
    j = 0
    while j < cnt and i * prime[j] < 100:
        vis[i*prime[j]] = 1
        if i % prime[j] == 0: break
        j+=1
def cal(num):
    res = 0
    while num:
        res += num%10
        num = int(num/10)
    return res
N = int(input())
for p in range(1,N+1):
    k,m = [int(i) for i in input().split()]
    resA = []
    A = 10 ** (k-1)
    for i in range(A+99,A*10,100):
        if cal(i) == m:
            n = cal(i+1)
            pos = gcd(m,n)
            if pos > 2 and vis[pos] == 0:
                resA.append((n,i))
    resA.sort()
    if (len(resA)>0):
        print("Case %d"%p)
        for i in resA:
            print("%d %d"%i)
    else:
        print("Case %d"%p)
        print("No Solution")
                

1103 最后一个测试中1,1不是有缘数

m,n = [int(i) for i in input().split()]
sqr = [1]
pf = [1]
sqnum = 6
pfnum = 4
for i in range(25001):
    sqr.append(sqr[i]+sqnum)
    pf.append(pf[i]+pfnum)
    sqnum += 6
    pfnum += 4
flag = 0
for i in pf[1:]:
    if i*i > sqr[n]: break
    if i*i in sqr[m-1:n]:
        flag  =1
        print(sqr.index(i*i)+1,pf.index(i)+1)
if flag == 0: print("No Solution")

1102

n = int(input())
sale = []
price = []
for i in range(n):
    ls = input().split()
    sale.append((int(ls[2]),ls[0]))
    price.append((int(ls[1])*int(ls[2]),ls[0]))
sale.sort()
price.sort()
print("%s %d"%(sale[-1][1],sale[-1][0]))
print("%s %d"%(price[-1][1],price[-1][0]))

1101

a,b = input().split()
p = len(a)-int(b)
c = a[p:] + a[:p]
print("%.2f"%(int(c)/int(a)))

1100 python3.7以上的dict.has_key(item)变成dict.__contains__(item)字典的

n = int(input())
xls = {}
clss = []
res = []
ymd = 99999999
ymd2 = 99999999
for i in range(n):
    k = input()
    xls[k] = 1
m = int(input())
cnt = 0
for i in range(m):
    c = input()
    if int(c[6:14]) < ymd2:
        ymd2 = int(c[6:14])
        ma2 = c
    if xls.__contains__(c):
        cnt+=1
        if int(c[6:14]) < ymd:
            ymd = int(c[6:14])
            ma = c
if cnt: 
    print(cnt)
    print(ma)
else: 
    print(0)
    print(ma2)

1099 要单独考虑小于10的和大于100000000的情况

import math
def prime(num):
    for i in range(2,int(math.sqrt(num))+1):
        if num%i == 0:
            return False
    return True
n = int(input())

if n == 7 or n == 5:
    print("Yes")
    print(n+6)
elif n < 5:
    print("No")
    print(5)
elif n < 8:
    print("No")
    print(7)
elif prime(n) and prime(n-6):
    print("Yes")
    print(n-6)
elif prime(n) and prime(n+6):
    print("Yes")
    print(n+6)
else:
    for i in range(n+1,110000001):
        if prime(i) and prime(i-6):
            print("No")
            print(i)
            break
        elif prime(i) and prime(i+6):
            print("No")
            print(i)
            break

1098

n = int(input())
h1 = [int(i) for i in input().split()]
up = min(h1)
h2 = [int(i) for i in input().split()]
down = max(h2)
if up > down:
    print("Yes {}".format(up-down))
else: print("No {}".format(down-up+1))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值