代码语言: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