初级
令 $\vec{u}$ 为向量 $(1,2)$。假定有另一个正整数坐标为 $(n, m)(n > m
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
import matplotlib.pyplot as plt
import numpy as np
from math import sqrt
u = (1, 2)
vectors = []
for n in range(1, 20):
for m in range(1, n):
v = (n, m)
dist = sqrt((v[0]-u[0])**2 + (v[1]-u[1])**2)
if abs(dist - 13) < 0.001:
vectors.append(v)
plt.figure(figsize=(8, 6))
plt.scatter(u[0], u[1], color='red', s=100, label='u = (1, 2)', zorder=5)
for v in vectors:
plt.scatter(v[0], v[1], color='blue', s=50)
plt.plot([u[0], v[0]], [u[1], v[1]], 'g--', alpha=0.5)
plt.annotate(f'v={v}', v, textcoords="offset points", xytext=(5, 5))
plt.axhline(y=0, color='k', linewidth=0.5)
plt.axvline(x=0, color='k', linewidth=0.5)
plt.grid(alpha=0.3)
plt.legend()
plt.title('寻找距离u为13的向量v')
plt.xlabel('x')
plt.ylabel('y')
plt.tight_layout()
plt.show()
if vectors:
v = vectors[0]
displacement = (v[0]-u[0], v[1]-u[1])
print(f"v = {v}, 位移 = {displacement}")
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199