python求一个数的所有因数之和_数学:求一个数的真约数(因数)的个数及所有约数之和...

一.

我们知道,每个自然数(不包括0和1)都有2个以上的因数,因数最少的是质数(也叫素数),质数的因数是1和它本身。非质数的自然数也叫合数,它们都含有3个以上(含3个)的因数。

1、怎样求一个数有多少个因数?

对于一个已知的自然数,要求出它有多少个因数,可用下列方法:

首先将这个已知数分解质因数,将此数化成几个质数幂的连乘形式,然后把这些质数的指数分别加一,再相乘,求出来的积就是我们要的结果。

例如:求360有多少个因数。

因为360分解质因数可表示为:360=2^3×3^2×5,2、3、5的指数分别是3、2、1,这样360的因数个数可这样计算出:

(3+1)(2+1)(1+1)=24个。

我们知道,360的因数有 1,2,3,4,5,6,8,9,10,12,15,18,20,24,30,36,40,45,60,72,90,120,180,360正好24个,可见上述计算正确。2、怎样求出有n个因数的最小自然数?

同样拥有n个(n为确定的数)因数的自然数可以有多个不同的数,如何求出这些数中的最小数?

这是与上一个问题相反的要求,是上一题的逆运算。

比如求有24个因数的最小数是多少?

根据上一问题解决过程的启示,可以这样做,先将24分解因式,把24表示成几个数连乘积的形式,再把这几个数各减去1,作为质数2、3、5、7......的指数,求出这些带指数的数连乘积,试算出最小数即可。具体做法是:

因为:24=4×6,  24=3×8, 24=4×3×2,

现在分别以这三种表示法试求出目标数x:

(1)、24=4×6,4-1=3,6-1=5

X=2^5×3^3=864

(2)、24=3×8,3-1=2,8-1=7

X=2^7×3^2=1152

(3)24=4×3×2,4-1=3, 3-1=2, 2-1=1

X=2^3×3^2×5=360

综合(1)、(2)、(3)可知360是有24个因数的最小数。

二。

6=2·3=(2^1)·(3^1),

所以6的约数的个数:1,2,3,6共4个, 也可如此算:(1+1)(1+1)=4

所有约数的和1+3+2+6 ,也可如此算:(2^0+2^1)(3^0+3^1)

原理:因为6是由一个2个一个3组成,2可以出现0次、1次,3可以出现0次、1次,所以所有约数之和=(2^0+2^1)(3^0+3^1)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值