PAT basic1006-1010(Python版)

来源:互联网 发布:移动数据漫游什么意思 编辑:程序博客网 时间:2024/06/09 15:20

Python2环境

1006:

from sys import exitstr = raw_input()strLen = len(str)out = ''for i in range(strLen):    if strLen - i == 3:        out += 'B' * int(str[i])    elif strLen - i == 2:        out += 'S' * int(str[i])    else:        for i in range(1, int(str[i]) + 1):            out += '%s' % iprint out            exit(0)


1007:

from sys import exitfrom math import sqrtdef isPrime( num ):    if num == 1:        return 1    if num == 2 or num == 3:        return 0    for i in range(2, int(sqrt(num))+1):        if num % i == 0:            return 1    return 0max = input()count = 0lastPrime = 2for i in range(2, max+1):    if isPrime(i) == 0:        if i - lastPrime == 2:            count += 1                lastPrime = iprint count                         exit(0)
有一个case会超时,python在有比较严格的时间要求时容易超时。设计效率牺牲了时间效率。

1008:

from sys import exitstr = raw_input()num = int(str.split()[0])shift = int(str.split()[1])shift %= numnumList = raw_input().split()    numList = [int(numList[i]) for i in range(len(numList))]out = ''for i in range(len(numList)):    if i != len(numList) - 1:        print numList[(num-shift+i)%num],    else:        print numList[(num-shift+i)%num]exit(0)


1009:

from sys import exitstr = raw_input()   tstr = str.strip();tstr = tstr.split()tstr.reverse()revStr = tstr[0]for i in range( len(tstr) ):    if i != 0:        revStr += ' '        revStr += tstr[i]print revStr                                exit(0) 


1010:

from sys import exitstr = raw_input().split()numList = [int(str[i]) for i in range(len(str))]        for i in range(len(numList)/2):    if numList[2 * i + 1] == 0:        numList[2 * i] = 0    else:        numList[2 * i] *= numList[2 * i + 1]        numList[2 * i + 1] -= 1out = ''        for i in range(len(numList)/2):    if numList[2 * i] == 0 and numList[2 * i + 1] == 0:        continue    if i == 0 and (numList[1] != 0 or numList[0] != 0):        out += '%d %d' % (numList[0], numList[1])    else:        out += ' %d %d' % (numList[2*i], numList[2*i+1])if len(out) == 0:    print '0 0'else:    print out        exit(0)


0 0
原创粉丝点击