刷题3.22

1.算式900 649

from itertools import *
s=['0','1','2','3','4','5','6','7','8','9']
for p in permutations(s,10):
     if p[0]!=0 and p[4]!=0 and p[8]!=0:
          s=''.join(p)
          a=int(s[0:4])
          b=int(s[4:8])
          c=int(s[8:10])
          if (a-b)*c==900:
               print(a,b,c)
               print(p)

2.谈判 545

n=int(input())
a=list(map(int,input().split()))
a.sort()
res=0
while len(a)>1:
  a.append(a[0]+a[1])
  res+=(a[0]+a[1])
  a.pop(0)
  a.pop(0)
  a.sort()
print(res)

3.幸运数 214

import os
import sys

# 请在此输入您的代码
m, n = map(int, input().split())  # 完成输入


def f(x):  # f返回1-x中有多少个幸运数字
    global m, n
    if x == 1:
        return 0
    s = []
    for i in range(x+1):
        s.append(i)
    temp = 2
    cnt = 2
    while len(s) > temp:
        s1 = [0]
        for i in range(1, len(s)):
            if i % temp != 0:
                s1.append(s[i])
        temp = s1[cnt]
        cnt += 1
        s = s1

    if m in s1 or n in s1:
        return len(s1)-1
    else:
        return len(s1)

print(f(n) - f(m))

4.123     1591

应该能得40分吧

纯混分

i=1
s=[]
while i <1420:
     for j in range(1,i+1):
          s.append(j)
     i+=1
n=int(input())
for i in range(n):
     a,b=map(int,input().split())
     print(sum(s[a-1:b]))

你可能感兴趣的:(蓝桥杯专题,蓝桥杯)