4.10
所花时间:4小时
代码量:34
博客篇:1
杨辉三角形
【题目描述】
输出n(0<n)行杨辉三角形,n由用户输入。
【源代码程序】
"""
规律:每一行前后都是1
第i行中间有i个(i+1),i是从0开始的。
如:第0行中间有0个1,第1行中间有1个2,第2行中间有2个3
"""
n = int(input())
for i in range(0, n):
print("%5.d" % 1, end='')
for j in range(0, i):
print("%5.d" % (i + 1), end='')
print("%5.d" % 1, end='')
print()
筛法求素数
【题目描述】
用户输入整数n和m(1<n<m<1000),应用筛法求[n,m]范围内的所有素数。
【源代码程序】
def IsS(num):
for i in range(2, int(pow(num, 0.5)) + 1):
if num % i == 0:
return False
return True
n, m = map(int, input().split())
num = 0 # 用于判断是否该换行了
for i in range(n, m + 1):
if IsS(i):
num += 1
if num % 5 != 0:
print("%5.d" % i, end='')
else:
print("%5.d" % i)
查找鞍点
【题目描述】
对于给定5X5的整数矩阵,设计算法查找出所有的鞍点的信息(包括鞍点的值和行、列坐标,坐标从1开始)。
提示:鞍点的特点:列上最小,行上最大。
【源代码程序】
"""规定是五行五列的矩阵"""
row = [] # 行
low = [] # 列
for i in range(0, 5):
a = list(map(int, input().split(' ')))
row.append(a) # 这里是按照一行一行录入到row,列表里面存5个列表(5行)
for i in range(0, 5):
b = []
for j in range(0, 5):
b.append(row[j][i])
low.append(b) # 这里是按照一列录入到low中,列表里面存的是5个列表(5列)
for i in range(0, 5):
for j in range(0, 5):
if row[i][j] == max(row[i]): # 如果行: 5 1 2 3 4 5,这样子写,两个5都会被遍历到
if row[i][j] == min(low[j]):
print("[%d,%d,%d]" % (i+1, j+1, row[i][j]), end='')