add python code
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
性能对比:循环累加 vs 高斯求和公式
|
||||
比较两种算法计算 1+2+...+n 的耗时差异
|
||||
"""
|
||||
import time
|
||||
|
||||
def sum_by_loop(n):
|
||||
"""循环累加 O(n)"""
|
||||
total = 0
|
||||
for i in range(1, n + 1):
|
||||
total += i
|
||||
return total
|
||||
|
||||
def sum_by_gauss(n):
|
||||
"""高斯求和公式 O(1)"""
|
||||
return n * (n + 1) // 2
|
||||
|
||||
# 测试不同规模
|
||||
for n in [1000, 10000, 100000, 1000000]:
|
||||
print(f"\n--- n = {n} ---")
|
||||
|
||||
start = time.time()
|
||||
r1 = sum_by_loop(n)
|
||||
t1 = time.time() - start
|
||||
|
||||
start = time.time()
|
||||
r2 = sum_by_gauss(n)
|
||||
t2 = time.time() - start
|
||||
|
||||
print(f"循环累加: {t1:.6f} 秒, 结果 = {r1}")
|
||||
print(f"高斯公式: {t2:.6f} 秒, 结果 = {r2}")
|
||||
print(f"加速比: {t1/t2:.2f}x")
|
||||
@@ -0,0 +1,22 @@
|
||||
"""
|
||||
递归打印图案 — 演示递归基本结构
|
||||
"""
|
||||
def print_rect(n, current=1):
|
||||
"""递归打印矩形"""
|
||||
if current > n:
|
||||
return
|
||||
print("*" * n)
|
||||
print_rect(n, current + 1)
|
||||
|
||||
def print_triangle(n, current=1):
|
||||
"""递归打印三角形"""
|
||||
if current > n:
|
||||
return
|
||||
print("*" * current)
|
||||
print_triangle(n, current + 1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("矩形图案 (5x5):")
|
||||
print_rect(5)
|
||||
print("\n三角形图案:")
|
||||
print_triangle(5)
|
||||
Reference in New Issue
Block a user