蓝桥杯Python.赛题(一部分)

2021-04-28 10:19:43 浏览数 (1)

代码语言:javascript复制
# 蛇形填数
def func(x):
    if x == 1:
        return 1
    elif x == 2:
        return 5
    else:
        return func(x - 1)   4 * (x - 1)
print(func(20))
代码语言:javascript复制
a = int(input())  # 第几行

b = int(input())  # 第几列

c = a   b - 1  # 第几斜排

n = 0

for i in range(1, c   1):
    n  = i  # c斜排的最后一个数
    print(c)

if c % 2 != 0:  # 奇偶性

    ans = n - a   1  # 等于最大的数减行数加1

else:

    ans = n - b   1  # 等于最大的数减列数加1

print(ans)
代码语言:javascript复制
#include <iostream>
using namespace std;
int a[500][500];
int main()
{   int sum=1;
    int n=2;
 for(int i=0;i<40;i=i 2)
 {
  int temp=i;
  for(int j=0;j<i 1;j  )
  {
     a[temp--][j]=sum  ;
  }
  sum=sum n;
  n=n 2;
 }
 int num=2;
 int m=2;
 for(int i=1;i<40;i=i 2)
 {
  int temp=i;
  for(int j=0;j<i 1;j  )
  {
   a[j][temp--]=num  ;
  }
  num=num m;
  m=m 2;
 }
 cout<<a[19][19];
 return 0;
}

但是C 在10得时候会卡住

改了循环变量,不卡了

是一道填空题

可以用找规律,可以用递归做

代码语言:javascript复制
#门牌制作
def find(x):
    res = []
    for i in range(1,x 1):
        if '2' in str(i):
            res.append(str(i).count('2'))
    print(sum(res))
find(2020)

一个奇奇怪怪得数列

代码语言:javascript复制
import math
def IsPrime(n):
    for i in range(2, int(math.sqrt(n)   1)):
        if n % i == 0:
            return False
    return True


res = []
for num in range(2, 10000):
    for j in range(2, 1000):
        if IsPrime(num   j) and IsPrime(num   2 * j) and IsPrime(num   3 * j) and IsPrime(num   4 * j) and IsPrime(
                num   5 * j) and IsPrime(num   6 * j) and IsPrime(num   7 * j) and 
                IsPrime(num   8 * j) and IsPrime(num   9 * j) and IsPrime(num):
            res.append(j)
print(min(res))
代码语言:javascript复制
import math 

def isPrime(n): 
  if n <= 1: 
  return False 
  for i in range(2, int(math.sqrt(n))   1): 
  if n % i == 0: 
    return False 
  return True 

# 自带得素数解算
代码语言:javascript复制
from math import sqrt 
N = 100 
[ p for p in  range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p)) 1)] ] 
# 列表推导
代码语言:javascript复制
from itertools import count 
def isPrime(n): www.jb51.net
  if n <= 1: 
    return False 
  for i in count(2): 
    if i * i > n: 
      return True 
    if n % i == 0: 
      return False 
# 用内置d饿迭代器
代码语言:javascript复制
def isPrime(n): 
  if n <= 1: 
    return False 
  i = 2 
  while i*i <= n: 
    if n % i == 0: 
      return False 
    i  = 1 
  return True 
代码语言:javascript复制
def isPrime(n): 
  if n <= 1: 
    return False 
  if n == 2: 
    return True 
  if n % 2 == 0: 
    return False 
  i = 3 
  while i * i <= n: 
    if n % i == 0: 
      return False 
    i  = 2 
  return True 

最后要得就是一个暴力搜索

s

0 人点赞