PAT 1006 1007 1008 python

1006:换个格式输出整数

while True:
    number = input()
    B_num = number/100
    number = number%100
    S_num = number/10
    N = number%10
    size = B_num+S_num+N
    Res = [0]*size
    i = 0
    j = 0
    for i in range(size):
        if i<B_num:
            Res[i] = 'B'
        if i<B_num+S_num and i>=B_num:
            Res[i] = 'S'
        if i>=B_num+S_num and i<size:
            Res[i] = j+1
            j +=1
        i +=1
    for ch in Res:
        print(ch,end= "")
    print('')

1007:素数对猜想(运行超时,摊手.jpg)

def judge(number):
    if number ==1:
        return 0
    if number == 2:
        return number
    i = 2
    flag =0
    #num =int(math.sqrt(number))
    for i in range(2,number-1):
        if number % i == 0:
            flag =1
            break
        i +=1
    if flag ==0:
        return number
    else:
        return 0

num = input()
Res = [0]*num
i =1
j =0
for i in range(1,num+1):
    result =judge(i)
    if result!=0:
        Res[j] = result
        j+=1
    i +=1
double_num  = 0
i=0
while i<num-1:
    if Res[i+1]-Res[i] == 2:
        double_num+=1
    i+=1
print(double_num)

1008:数组元素循环右移(这个题目我非常骚气地用了写C语言的习惯........,ORZ,然后就没通过,不知道为什么,而且写的也很烂......最后我贴一段其他大佬通过的代码,你可能就知道我写有多么辣鸡了.......)

size_step_str = raw_input()
num_str = raw_input()
size_step_list = list(size_step_str)
num_list = list(num_str)
size_num = int(size_step_list[0])
step_num = int(size_step_list[-1])
number = [0]*size_num
j =0
i=0
for i in range(0,len(num_list)):
    if num_list[i]!=' ':
        number[j]=int(num_list[i])
        j+=1
    i+=1

m =0
n =size_num-step_num-1
for m in range(n):
    if m<=n:
        temp = number[m]
        number[m]=number[n]
        number[n]=temp
        m+=1
        n-=1
    else:
        break

k =size_num-step_num
n =size_num-1
for k in range(size_num-step_num,n):
    if k<=n:
        temp =number[k]
        number[k] =number[n]
        number[n] =temp
        k+=1
        n-=1
    else:
        break

i = 0
j =size_num-1
for i in range(j):
    if i<=j:
        temp = number[i]
        number[i] = number[j]
        number[j] = temp
        i+=1
        j-=1
    else:
        break
print(number)
其他大佬:

n=raw_input().split()
m=raw_input().split()
a=int(n[0])
b=int(n[1])
m1=m[a-b:]
m2=m[:a-b]
x=m1+m2
print(' '.join(x))



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值