##题目1
using TyPlot
using TyMath
using Interpolations # 插值库
#定义较为稀疏的原始数据点
x = 0:π/10:2π
y = sin.(x)
#定义更密集的插值点
xi = 0:π/100:2π
#创建线性插值函数
itp = LinearInterpolation(x, y)
#计算插值结果
yi = itp.(xi)
#绘制结果
figure()
hold("on")
plot(x, y, "o", markersize=6, label="原始数据点") # 圆圈标记原始数据
plot(xi, yi, "-", linewidth=2, label="线性插值曲线") # 实线表示插值曲线
xlim(0, 2π)
xlabel("x")
ylabel("sin(x)")
title("sin(x) 在 [0, 2π] 的线性插值")
legend()
grid(true)
hold("off")
##题目二
function digit_sum(n)
sum = 0
while n > 0
sum += n % 10 # 取最后一位数字
n ÷= 10 # 去掉最后一位
end
return sum
end
function find_min_number()
n = 7 # 从最小的 7 的倍数开始
while true
if digit_sum(n) > 20
return n
end
n += 7 # 检查下一个 7 的倍数
end
end
result = find_min_number()
println("满足条件的最小正整数是: ", result)
题目一运行结果:

题目二运行结果:
