找回密码
 快速注册
搜索
查看: 1166|回复: 6

限定分母最接近某个无理数的既约分数

[复制链接]

471

主题

945

回帖

9837

积分

积分
9837

显示全部楼层

青青子衿 发表于 2019-8-6 14:07 |阅读模式
本帖最后由 青青子衿 于 2019-8-6 14:21 编辑
  1. M = 20;
  2. Table[Nearest[1/i*Select[Range[i], GCD[#, i] == 1 &],
  3.     1/Sqrt[5]], {i, 2, M}] // Flatten
  4. Nearest[Flatten[
  5.   Table[Nearest[1/i*Select[Range[i], GCD[#, i] == 1 &],
  6.     1/Sqrt[5]], {i, 2, M}]], 1/Sqrt[5]]
  7. Table[
  8.    Nearest[Flatten[
  9.       Table[Nearest[1/i*Select[Range[i], GCD[#, i] == 1 &],
  10.       1/Sqrt[5]], {i, 2, k}]], 1/Sqrt[5]], {k, 2, M}] // Flatten
复制代码

15

主题

958

回帖

1万

积分

积分
12454

显示全部楼层

色k 发表于 2019-8-6 14:17
这种一般我都是用连分数来搞:
Table[FromContinuedFraction[ContinuedFraction[1/Sqrt[5], n]], {n, 5}]
输出 {0, 1/2, 4/9, 17/38, 72/161}

471

主题

945

回帖

9837

积分

积分
9837

显示全部楼层

 楼主| 青青子衿 发表于 2019-8-6 14:23
回复 2# 色k
但是我想要得到  满足条件且关于自然数作分母的“既约分数”列呀
“既约分数”就是“最简分数”

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2019-8-6 17:12
回复 3# 青青子衿

没懂,能不能将问题完事地描述一下。

471

主题

945

回帖

9837

积分

积分
9837

显示全部楼层

 楼主| 青青子衿 发表于 2019-8-6 22:04
回复 4# kuing
比如下列这些分数就是既约分数
\begin{align*}
\dfrac{1}{2}&&\\
\\
\dfrac{1}{3}&&\dfrac{2}{3}\\
\\
\dfrac{1}{4}&&{}&&\dfrac{3}{4}\\
\\
\dfrac{1}{5}&&\frac{2}{5}&&\dfrac{3}{5}&&\dfrac{4}{5}\\
\\
\dfrac{1}{6}&&{}&&{}&&{}&&\dfrac{5}{6}\\
\end{align*}
然后找每一行(注意是按行找)最接近\(\,\dfrac{1}{\sqrt5}\,\)的分数
然后列出这样的序列:1/2, 1/3, 1/4, 2/5, 1/6, 3/7, 3/8, 4/9, 3/10, ……

15

主题

958

回帖

1万

积分

积分
12454

显示全部楼层

色k 发表于 2019-8-6 22:17
回复 5# 青青子衿

这样说就清楚了,关键就是这个“找每一行(注意是按行找)”,我当时就是没看出这一点,以为是找逼近数列之类的东西

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2019-8-7 02:21
顺便记录一个,利用 FareySequence[n],就是 [0,1] 内的分母不超过 n 的既约分数由小于大的排列。
Nearest[FareySequence[20], 1/Sqrt[5]]
输出 {4/9} ,就是分母不超过 20 的最接近 `1/\sqrt5` 的既约分数。
Nearest 还可以再多一个参数,如
Nearest[FareySequence[20], 1/Sqrt[5], 3]
则列出的是最接近的 3 个 {4/9, 9/20, 5/11} ,由近到远。

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 11:54

Powered by Discuz!

× 快速回复 返回顶部 返回列表