Mathematica应用——处理数字的约数问题初步

 时间:2026-02-13 13:07:00

1、给定某个正整数n,怎么求出它的所有约数呢?

在Mathematica里面,这个有直接的方法——Divisors(约数)。通过具体的例子,可以知道28的约数是{1, 2, 4, 7, 14, 28},366的约数是{1, 2, 3, 6, 61, 122, 183, 366}。

习惯上,把除了数字本身的所有约数,称为它的真约数!

Mathematica应用——处理数字的约数问题初步

2、如果n的所有真约数之和等于n,那么n就是完全数!

约数和[xxx_] := Total[Divisors[xxx]] - xxx;

我们来检验一下这些数字是不是完全数:

6、496、8128、33550336,结果都是肯定的!

Mathematica应用——处理数字的约数问题初步

3、相亲数问题:

如果a的约数和是b,b的约数和是a,那么a和b互为相亲数。

可以很容易地验证220和284是一对相亲数!

Mathematica应用——处理数字的约数问题初步

4、更一般的亲和数链:

如果存在n个正整数,第一个的约数和等于第二个数,第二个的约数和等于第三个数,……,第n个的约数和等于第一个数;那么,就说这n个数构成一个相亲数链。

可以很容易地验证:

{2115324,3317740,3649556,2797612}构成一个4阶相亲数链;

{12496,14288,15472,14536,14264}构成一个5阶相亲数链;

366556可以引出一个28阶相亲数链。

Mathematica应用——处理数字的约数问题初步

Mathematica应用——处理数字的约数问题初步

Mathematica应用——处理数字的约数问题初步

1、定义:设n的所有约数(除了1和n之外)之和,等于m;而m的所有约数(除了1和m之外)之和,等于n。那么,就称m和n是一对半相亲数。

半约数和[xxx_] := Total[Divisors[xxx]] - xxx-1;

Mathematica应用——处理数字的约数问题初步

2、可以验证,48和75是一对半相亲数。

Mathematica应用——处理数字的约数问题初步

3、不知道是否存在半相亲数链!

  • 如何在vs中修改QT窗口图标和名称?
  • IntelliJ IDEA代码怎么设置显示代码折叠大纲
  • navicate如何美化sql查询语句
  • Mathematica如何在方程等号两边同时变换?
  • 怎么让Word文档显示或消除文档修改痕迹?
  • 热门搜索
    旅游吧 池州旅游 郴州旅游景点 越南旅游攻略 泰国普吉岛旅游攻略 去韩国旅游 桂林旅游景点 四川成都旅游景点 宁德旅游 永泰旅游