前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蓝桥杯Python.赛题(一部分)

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

作者头像
云深无际
发布2021-04-28 10:19:43
5950
发布2021-04-28 10:19:43
举报
文章被收录于专栏:云深之无迹
代码语言: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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档