洛谷(仅用于个人学习)
# 【深基4.习8】求三角形
## 题目描述
模仿例题,打印出不同方向的正方形,然后打印三角形矩阵。中间有个空行。
## 输入格式
输入矩阵的规模,不超过 $9$。
## 输出格式
输出矩形和正方形
n=int(input())
x=1
for i in range(1,n+1):
for j in range(1,n+1):
if x<10:
print('0',end='')
print(x,end='')
else:
print(x,end='')
x+=1
print()
print()
x=1
for i in range(1,n+1):
print(' '*(n*2-2*i),end='')
for j in range(1,i+1):
if x<10:
print('0',end='')
print(x,end='')
else:
print(x,end='')
x+=1
print()
真是纳闷,明明可以实现,但是编译失败啊啊啊啊
# 子数整数
## 题目描述
对于一个五位数 $\overline{a_1a_2a_3a_4a_5}$,可将其拆分为三个子数:
$sub_1=\overline{a_1a_2a_3}$
$sub_2=\overline{a_2a_3a_4}$
$sub_3=\overline{a_3a_4a_5}$
例如,五位数 $20207$ 可以拆分成
$sub_1=202$
$sub_2=020\ (=20)$
$sub_3=207$
现在给定一个正整数 $K$,要求你编程求出 $10000$ 到 $30000$ 之间所有满足下述条件的五位数,条件是这些五位数的三个子数 $sub_1,sub_2,sub_3$ 都可被 $K$ 整除。
## 输入格式
一个正整数 $K$。
## 输出格式
每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出 `No`。
n=int(input())
count=0
for i in range(10000,30001):
a=str(i)
b1=a[0:3]
b2=a[1:4]
b3=a[2:5]
if int(b1)%n==0 and int(b2)%n==0 and int(b3)%n==0:
print(i)
count+=1
if count==0:
print('No')
不知道在判断有没有解的地方有更好的办法没有,我只能想出这个解法了。